Mantis - ruby_augeas
Viewing Issue Advanced Details
5186 tweak always 2014-07-04 18:49 2014-11-20 22:59
vduncan  
tosmi  
normal  
closed  
won't fix  
none    
none  
0005186: CSWrubyaugeas is no longer working with latest version of CSWruby18
When updating CSWruby18 to version 1.8.7p357,REV=2014.05.06 on our servers, the _augeas.so library can no longer be found. CSWrubyaugeas is version 0.4.1,REV=2012.03.25.

Version 1.8.7p334,REV=2011.03.24 of CSWruby18 works correctly with CSWrubyaugeas version 0.4.1,REV=2012.03.25.

The problem is that _augeas.so is installed to:
/opt/csw/lib/ruby/site_ruby/1.8/i386-solaris2.9

However, the latest version of ruby expects the library to be here:
/opt/csw/lib/ruby/site_ruby/1.8/i386-solaris2.10

See Additional Information below for more details.

I believe CSWrubyaugeas needs to be updated to install to the i386-solaris2.10 directory.

Here are the results when trying to initialize Augeas:

# ruby -raugeas -e "puts Augeas.open"
# /opt/csw/lib/ruby/site_ruby/1.8/augeas.rb:23:in `require': no such file to load -- _augeas (LoadError)
# from /opt/csw/lib/ruby/site_ruby/1.8/augeas.rb:23

I have found that the latest version of CSWruby18 is searching a different directory paths than the previous version:

1.8.7p357,REV=2014.05.06

# ruby -e 'puts $:'
# /opt/csw/lib/ruby/site_ruby/1.8
# /opt/csw/lib/ruby/site_ruby/1.8/i386-solaris2.10
# /opt/csw/lib/ruby/site_ruby
# /opt/csw/lib/ruby/vendor_ruby/1.8
# /opt/csw/lib/ruby/vendor_ruby/1.8/i386-solaris2.10
# /opt/csw/lib/ruby/vendor_ruby
# /opt/csw/lib/ruby/1.8
# /opt/csw/lib/ruby/1.8/i386-solaris2.10

1.8.7p334,REV=2011.03.24

# ruby -e 'puts $:'
# /opt/csw/lib/ruby/site_ruby/1.8
# /opt/csw/lib/ruby/site_ruby/1.8/i386-solaris2.9
# /opt/csw/lib/ruby/site_ruby
# /opt/csw/lib/ruby/vendor_ruby/1.8
# /opt/csw/lib/ruby/vendor_ruby/1.8/i386-solaris2.9
# /opt/csw/lib/ruby/vendor_ruby
# /opt/csw/lib/ruby/1.8
# /opt/csw/lib/ruby/1.8/i386-solaris2.9

The library _augeas.so is installed to /opt/csw/lib/ruby/site_ruby/1.8/i386-solaris2.9 and not the new 2.10 directory so ruby is unable to find and load it.

I can work around the issue by specifying the RUBYLIB environment variable so that ruby also searches the /opt/csw/lib/ruby/site_ruby/1.8/i386-solaris2.9 directory.

This is impacting Puppet versions 2.7.x on our servers as scripts depending on Augeas fail when the library cannot be found.
Issue History
2014-07-04 18:49 vduncan New Issue
2014-10-07 13:15 skoef Issue Monitored: skoef
2014-11-20 22:51 tosmi Status new => assigned
2014-11-20 22:51 tosmi Assigned To => tosmi
2014-11-20 22:56 tosmi Note Added: 0010979
2014-11-20 22:59 tosmi Note Added: 0010980
2014-11-20 22:59 tosmi Status assigned => closed
2014-11-20 22:59 tosmi Resolution open => won't fix

Notes
(0010979)
tosmi   
2014-11-20 22:56   
i'm going to close this issue as we are on the way of upgrading rubyaugeas to 0.5.0) . if you install the latest and greatest version of rubyaugeas from unstable its going to pull ruby20. this issue was also only related to i386.

you can always switch ruby version with

alternatives --config ruby

thanks
toni
(0010980)
tosmi   
2014-11-20 22:59   
we are on the way of upgrading all puppet3 related packages. this includes newer versions of rubyaugeas and augeas which should then work with the latest puppet packages. i'm not going to support puppet < 3, so someone else has to step up if puppet 2 support is still required.