This is for cmake-2.8.5-3.fc16.x86_64 but there's the same problem with the rawhide version. Steps to Reproduce: 1. Use "FIND_PACKAGE (Ruby)" to have FindRuby set ruby directories for you. Actual results: RUBY_VENDORARCH_DIR does not get set Expected results: RUBY_VENDORARCH_DIR gets set and points to rbconfig's Config::CONFIG['vendorarchdir'] Additional info: FindRuby does the following to determine the dir: EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 'true'" OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY ERROR_QUIET) IF(RUBY_HAS_VENDOR_RUBY) EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['vendorlibdir']" OUTPUT_VARIABLE RUBY_VENDORLIB_DIR) EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['vendorarchdir']" OUTPUT_VARIABLE RUBY_VENDORARCH_DIR) ENDIF(RUBY_HAS_VENDOR_RUBY) But RUBY_HAS_VENDOR_RUBY always ends up false because vendor-specific is not an existing module in Fedora. I am not sure if this is something to be fixed in ruby (i.e. adding the 'vendor-specific' module) or in CMake (i.e. using some other way to determine we are on a distro with vendor-specific dirs). CCing bkabrda, a Ruby guy who knows about the situation.
I guess that there are two possible options: 1) Find out if vendor dirs exist in some other way - maybe just looking if they are defined: ruby -e "if Config::CONFIG.has_key?('vendorarchdir') then exit 0 else exit 1 end" or 2) We could add the vendor-specific.rb file to Ruby (would have to communicate with Ruby SIG on this one). Are there any specific needs for this file or is it sufficient if it only exists? CCing vondruch, who is Ruby maintainer in Fedora and will for sure bring in some more options/opinions on this.
Config was deprecated in favour of RbConfig: $ ruby -r rbconfig -e "print Config::CONFIG['vendorlibdir']" -e:1: Use RbConfig instead of obsolete and deprecated Config. $ ruby -r rbconfig -e "print RbConfig::CONFIG['vendorlibdir']" /usr/share/ruby/vendor_ruby CMake should be updated if there is used "Config". Note that RbConfig works also for Ruby 1.8.7, so it should not be an issue.
Actually, I am not sure where the vendor-specific should come from. Isn't it part of CMake? There is also difference between Ruby 1.8 and 1.9. Ruby 1.8 will require the file which is in current directory, while Ruby 1.9 will not. However I am not sure what is the issue, since you are referencing F16 and Rawhide, which have different Ruby versions.
[root@orca ~]# ruby -r vendor-specific -e "print 'true'" ruby: no such file to load -- vendor-specific (LoadError) [root@orca ~]# ruby -r rbconfig -e "print Config::CONFIG['vendorarchdir']" /usr/lib/ruby/1.8/i386-linux [root@orca ~]# ruby -r rbconfig -e "print RbConfig::CONFIG['vendorarchdir']" /usr/lib/ruby/1.8/i386-linux This has been reported upstream here: http://public.kitware.com/Bug/view.php?id=12965 but apparently there is no maintainer for FindRuby. Apparently vendor-specific in an OpenSUSE thing.
Ales - Can you test cmake-2.8.8-4.fc18? If that works for you I'll push updates to F16/17.
(In reply to comment #4) > Apparently vendor-specific in an OpenSUSE thing. Yes, it seems to be SUSE, taken from MacPorts ... but note that even on OpenSUSE, this "extension" is available just for Ruby 1.8
(In reply to comment #5) > Ales - Can you test cmake-2.8.8-4.fc18? If that works for you I'll push > updates to F16/17. Thank you, works and FWIW the patch looks reasonable to me.
(In reply to comment #3) > Actually, I am not sure where the vendor-specific should come from. Isn't it > part of CMake? There is also difference between Ruby 1.8 and 1.9. Ruby 1.8 > will require the file which is in current directory, while Ruby 1.9 will not. > > However I am not sure what is the issue, since you are referencing F16 and > Rawhide, which have different Ruby versions. Yes, and it fails with both. It indeed seems plausible that 'vendor-specific' is an (empty?) module in opensuse's ruby distribution, grepping for it with 'yum provides' didn't show anything on Fedora.
cmake-2.8.8-4.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/cmake-2.8.8-4.fc16
cmake-2.8.8-4.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/cmake-2.8.8-4.fc17
Package cmake-2.8.8-4.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing cmake-2.8.8-4.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-8301/cmake-2.8.8-4.fc17 then log in and leave karma (feedback).
cmake-2.8.8-4.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
cmake-2.8.8-4.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.