Bug 760000 - libguestfs fails to compile with Ruby >= 1.9
libguestfs fails to compile with Ruby >= 1.9
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: libguestfs (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Richard W.M. Jones
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-12-05 02:27 EST by Bohuslav "Slavek" Kabrda
Modified: 2012-01-30 16:03 EST (History)
3 users (show)

See Also:
Fixed In Version: libguestfs-1.16.1-1.fc16
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-01-04 03:10:39 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Bohuslav "Slavek" Kabrda 2011-12-05 02:27:58 EST
Description of problem:
Hi, we are currently preparing a new version of Ruby (1.9.3) for Rawhide and we are trying to rebuild all the packages that use it. There is a problem with libguestfs, that it uses C functionality, that is no longer supported in Ruby >= 1.9:

compiling _guestfs.c
_guestfs.c:5416:9: warning: "/*" within comment [-Wcomment]
_guestfs.c:16095:43: warning: "/*" within comment [-Wcomment]
_guestfs.c: In function ‘ruby_guestfs_test0’:
_guestfs.c:347:56: error: ‘struct RString’ has no member named ‘ptr’
_guestfs.c:351:56: error: ‘struct RString’ has no member named ‘len’
_guestfs.c: In function ‘ruby_guestfs_write’:
_guestfs.c:14414:54: error: ‘struct RString’ has no member named ‘ptr’
_guestfs.c:14418:54: error: ‘struct RString’ has no member named ‘len’
_guestfs.c: In function ‘ruby_guestfs_pwrite’:
_guestfs.c:14466:54: error: ‘struct RString’ has no member named ‘ptr’
_guestfs.c:14470:54: error: ‘struct RString’ has no member named ‘len’
_guestfs.c: In function ‘ruby_guestfs_pwrite_device’:
_guestfs.c:15573:54: error: ‘struct RString’ has no member named ‘ptr’
_guestfs.c:15577:54: error: ‘struct RString’ has no member named ‘len’
_guestfs.c: In function ‘ruby_guestfs_write_append’:
_guestfs.c:16293:54: error: ‘struct RString’ has no member named ‘ptr’
_guestfs.c:16297:54: error: ‘struct RString’ has no member named ‘len’
make[1]: *** [_guestfs.o] Error 1

I wasn't able to find any official documentation for C extensions for Ruby 1.9.3 (the page [1] on ruby-doc.org that should contain the documentation doesn't seem to work), but I was able to find a related thread on ruby-forum [2].
Would it be possible to make libguestfs work with both Ruby 1.8.x and 1.9.x?


Version-Release number of selected component (if applicable):
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
libguestfs-1.15.9-2.fc17


How reproducible:
always


Steps to Reproduce:
Compile with Ruby >= 1.9


Thank you!

[1] http://www.ruby-doc.org/doxygen/current/index.html
[2] http://www.ruby-forum.com/topic/134350
Comment 1 Richard W.M. Jones 2011-12-05 05:37:28 EST
I pushed this patch upstream, which although untested with
Ruby 1.9 seems like it should work:

http://git.annexia.org/?p=libguestfs.git;a=commitdiff;h=2972987d0257d9c3d26b53f961e802d121b436cd

It will be in libguestfs 1.15.10 in Rawhide in a few days.
Comment 2 Bohuslav "Slavek" Kabrda 2011-12-05 05:41:23 EST
Thank you, I will test it as soon as it lands in Rawhide.
Comment 3 Bohuslav "Slavek" Kabrda 2012-01-04 03:10:39 EST
Thank you very much Richard, it seems to work good now. Closing the issue.
Comment 4 Fedora Update System 2012-01-24 17:44:53 EST
libguestfs-1.16.1-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/libguestfs-1.16.1-1.fc16
Comment 5 Fedora Update System 2012-01-30 16:03:31 EST
libguestfs-1.16.1-1.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.