OpenCSW Bug Tracker


Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0005186 [ruby_augeas] tweak always 2014-07-04 18:49 2014-11-20 22:59
Reporter vduncan View Status public  
Assigned To tosmi
Priority normal Resolution won't fix  
Status closed  
Summary 0005186: CSWrubyaugeas is no longer working with latest version of CSWruby18
Description 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.

Additional Information 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.
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0010979)
tosmi (manager)
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 (manager)
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.


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker