[libvirt] ANNOUNCE: ruby-libvirt 0.5.0

All, I'm pleased to announce the release of ruby-libvirt 0.5.0. ruby-libvirt is a ruby wrapper around the libvirt API. Version 0.5.0 brings new APIs, more documentation, and bugfixes: * Updated Network class, implementing almost all libvirt APIs * Updated Domain class, implementing almost all libvirt APIs * Updated Connection class, implementing almost all libvirt APIs * Updated DomainSnapshot class, implementing almost all libvirt APIs * Updated NodeDevice class, implementing almost all libvirt APIs * Updated Storage class, implementing almost all libvirt APIs * Add constants for almost all libvirt defines * Improved performance in the library by using alloca Version 0.5.0 is available from http://libvirt.org/ruby: Tarball: http://libvirt.org/ruby/download/ruby-libvirt-0.5.0.tgz Gem: http://libvirt.org/ruby/download/ruby-libvirt-0.5.0.gem It is also available from rubygems.org; to get the latest version, run: $ gem install ruby-libvirt As usual, if you run into questions, problems, or bugs, please feel free to mail me (clalancette@gmail.com) and/or the libvirt mailing list. Thanks to everyone who contributed patches and submitted bugs. Chris Lalancette

Hi Chris, On 10/12/13 01:52, Chris Lalancette wrote:
All, I'm pleased to announce the release of ruby-libvirt 0.5.0. ruby-libvirt is a ruby wrapper around the libvirt API. Version 0.5.0 brings new APIs, more documentation, and bugfixes:
With ruby-libvirt 0.5.0, I'm now seeing compilation errors using Ruby 1.8.7p371. Was dropping of 1.8 support in this update deliberate? gcc -I. -I. -I/usr/local/rvm/rubies/ruby-1.8.7-p371/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -g -O2 -fPIC -c common.c common.c: In function ‘ruby_libvirt_typed_parameter_assign’: common.c:385: error: ‘ST_CONTINUE’ undeclared (first use in this function) common.c:385: error: (Each undeclared identifier is reported only once common.c:385: error: for each function it appears in.) common.c: In function ‘ruby_libvirt_set_typed_parameters’: common.c:405: error: dereferencing pointer to incomplete type make: *** [common.o] Error 1 Regards, -- Dominic Cleal Red Hat Engineering

Hi there, On Tue, Dec 10, 2013 at 7:47 AM, Dominic Cleal <dcleal@redhat.com> wrote:
Hi Chris,
On 10/12/13 01:52, Chris Lalancette wrote:
All, I'm pleased to announce the release of ruby-libvirt 0.5.0. ruby-libvirt is a ruby wrapper around the libvirt API. Version 0.5.0 brings new APIs, more documentation, and bugfixes:
With ruby-libvirt 0.5.0, I'm now seeing compilation errors using Ruby 1.8.7p371. Was dropping of 1.8 support in this update deliberate?
gcc -I. -I. -I/usr/local/rvm/rubies/ruby-1.8.7-p371/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -g -O2 -fPIC -c common.c common.c: In function ‘ruby_libvirt_typed_parameter_assign’: common.c:385: error: ‘ST_CONTINUE’ undeclared (first use in this function) common.c:385: error: (Each undeclared identifier is reported only once common.c:385: error: for each function it appears in.) common.c: In function ‘ruby_libvirt_set_typed_parameters’: common.c:405: error: dereferencing pointer to incomplete type make: *** [common.o] Error 1
No, it wasn't deliberate. Interesting, though; I thought that the ST_CONTINUE symbol existed in ruby 1.8. I'll take a look tonight and see if I can find where the problem is. Thanks for the report. Chris

On Tue, Dec 10, 2013 at 8:35 AM, Chris Lalancette <clalancette@gmail.com> wrote:
gcc -I. -I. -I/usr/local/rvm/rubies/ruby-1.8.7-p371/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -g -O2 -fPIC -c common.c common.c: In function ‘ruby_libvirt_typed_parameter_assign’: common.c:385: error: ‘ST_CONTINUE’ undeclared (first use in this function) common.c:385: error: (Each undeclared identifier is reported only once common.c:385: error: for each function it appears in.) common.c: In function ‘ruby_libvirt_set_typed_parameters’: common.c:405: error: dereferencing pointer to incomplete type make: *** [common.o] Error 1
Yeah, it turns out that ST_CONTINUE is in <st.h> in ruby 1.8 and <ruby/st.h> in later versions. Luckily the old <st.h> still works on later version (albeit with a warning). I fixed that, and also added a compatibility hack in the Rakefile that allows it to build on ruby 1.8. With both of those in place, I'm now able to build on CentOS-6.4. I've pushed these compatibility hacks to the main ruby-libvirt repository. At the moment, I'm not planning to put out a new release for this minor fix. Dominic, if you really want this in an official release, let me know and I can do a 0.5.1. Otherwise I'll just let you handle it when building a package for RHEL-6/CentOS-6. Thanks again for the bug report. Chris

On 11/12/13 01:31, Chris Lalancette wrote:
On Tue, Dec 10, 2013 at 8:35 AM, Chris Lalancette <clalancette@gmail.com> wrote:
gcc -I. -I. -I/usr/local/rvm/rubies/ruby-1.8.7-p371/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -g -O2 -fPIC -c common.c common.c: In function ‘ruby_libvirt_typed_parameter_assign’: common.c:385: error: ‘ST_CONTINUE’ undeclared (first use in this function) common.c:385: error: (Each undeclared identifier is reported only once common.c:385: error: for each function it appears in.) common.c: In function ‘ruby_libvirt_set_typed_parameters’: common.c:405: error: dereferencing pointer to incomplete type make: *** [common.o] Error 1
Yeah, it turns out that ST_CONTINUE is in <st.h> in ruby 1.8 and <ruby/st.h> in later versions. Luckily the old <st.h> still works on later version (albeit with a warning). I fixed that, and also added a compatibility hack in the Rakefile that allows it to build on ruby 1.8. With both of those in place, I'm now able to build on CentOS-6.4. I've pushed these compatibility hacks to the main ruby-libvirt repository.
At the moment, I'm not planning to put out a new release for this minor fix. Dominic, if you really want this in an official release, let me know and I can do a 0.5.1. Otherwise I'll just let you handle it when building a package for RHEL-6/CentOS-6.
Thanks again for the bug report.
Thanks for the fix Chris. A new release would be much appreciated as we're hitting this issue on gems, not RPMs. Our CI for Foreman (http://theforeman.org/) runs under a few Ruby versions and picked up this new version of the gem, so we'll need to pin to < 0.5 otherwise. Regards, -- Dominic Cleal Red Hat Engineering

On Wed, Dec 11, 2013 at 3:28 AM, Dominic Cleal <dcleal@redhat.com> wrote:
Thanks for the fix Chris. A new release would be much appreciated as we're hitting this issue on gems, not RPMs. Our CI for Foreman (http://theforeman.org/) runs under a few Ruby versions and picked up this new version of the gem, so we'll need to pin to < 0.5 otherwise.
OK, I'll put out a new release. I may not get to it until tomorrow night; just FYI. Chris
participants (2)
-
Chris Lalancette
-
Dominic Cleal