From: "jonforums (Jon Forums)" Date: 2013-02-18T13:06:52+09:00 Subject: [ruby-core:52430] [ruby-trunk - Bug #7871] exec_prefix regression breaks mingw Issue #7871 has been updated by jonforums (Jon Forums). As of r39298 test and test-all are 100% pass, and these quick tests look Ok. Hm, DESTDIR looks strange...I thought it should be empty. C:\>ruby -rrbconfig -ve "puts %Q(TOPDIR -> #{RbConfig::TOPDIR}); %w(DESTDIR prefix exec_prefix bindir libdir).each {|i| puts %Q(#{i} -> #{RbConfig::CONFIG[i]})}" ruby 2.0.0dev (2013-02-18 trunk 39298) [i386-mingw32] TOPDIR -> C:/rubytrunk DESTDIR -> C: prefix -> C:/rubytrunk exec_prefix -> C:/rubytrunk bindir -> C:/rubytrunk/bin libdir -> C:/rubytrunk/lib C:\>gem li | head -5 addressable (2.3.2) adsf (1.1.1) bigdecimal (1.1.0) bond (0.4.3) bundler (1.2.4) C:\>gem i oj Fetching: oj-2.0.5.gem (100%) Building native extensions. This could take a while... Successfully installed oj-2.0.5 Done installing documentation for oj (0 sec). 1 gem installed C:\>ruby -roj -ve "puts Oj::VERSION" ruby 2.0.0dev (2013-02-18 trunk 39298) [i386-mingw32] 2.0.5 ---------------------------------------- Bug #7871: exec_prefix regression breaks mingw https://bugs.ruby-lang.org/issues/7871#change-36488 Author: jonforums (Jon Forums) Status: Assigned Priority: High Assignee: nobu (Nobuyoshi Nakada) Category: build Target version: 2.0.0 ruby -v: 2.0.0dev (2013-02-17 trunk 39287) [i386-mingw32] Recent `exec_prefix` mods cause problems with the rubyinstaller build recipes as the new value points to the temporary build install path. Rubyinstaller build recipes build in a sandbox dir, and install in a different sandbox dir. Both sandbox dirs are different than the final install dir. This behavior doesn't occur on my Arch or Ubuntu systems, but I do a simple, one-step default `/usr/local` install. I haven't reviewed the exec_prefix patches to discover whether the problem appears to be with ruby, or with the rubyinstaller build tooling not understanding the new behavior. Difference between 1.9.3 (installed to c:\ruby193) and 2.0.0dev (installed to c:\rubytrunk): C:\>pik ruby -rrbconfig -ve "puts RbConfig::CONFIG['exec_prefix']" ruby 1.9.3p386 (2013-02-13 revision 39218) [i386-mingw32] C:/ruby193 ruby 2.0.0dev (2013-02-17 trunk 39287) [i386-mingw32] C:/projects/rubyinstaller-git/sandbox/ruby19_mingw It affects rubygems and will impact other scenarios: C:\>ls \rubytrunk\lib\ruby\gems\2.0.0\specifications | head -5 addressable-2.3.2.gemspec adsf-1.1.1.gemspec bigdecimal-1.1.0.gemspec bond-0.4.3.gemspec bundler-1.2.4.gemspec # disappearing gems...never build ruby while in roswell. C:\>gem list *** LOCAL GEMS *** # oh, we changed their world view C:\>gem env RubyGems Environment: - RUBYGEMS VERSION: 2.0.0 - RUBY VERSION: 2.0.0 (2013-02-17 patchlevel -1) [i386-mingw32] - INSTALLATION DIRECTORY: C:/projects/rubyinstaller-git/sandbox/ruby19_mingw/lib/ruby/gems/2.0.0 - RUBY EXECUTABLE: C:/projects/rubyinstaller-git/sandbox/ruby19_mingw/bin/ruby.exe - EXECUTABLE DIRECTORY: C:/projects/rubyinstaller-git/sandbox/ruby19_mingw/bin - RUBYGEMS PLATFORMS: - ruby - x86-mingw32 - GEM PATHS: - C:/projects/rubyinstaller-git/sandbox/ruby19_mingw/lib/ruby/gems/2.0.0 - C:/Users/Jon/.gem/ruby/2.0.0 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - :sources => ["http://rubygems.org"] - "gem" => "--no-ri --no-rdoc" - REMOTE SOURCES: - http://rubygems.org -- http://bugs.ruby-lang.org/