Bug #7871
closedexec_prefix regression breaks mingw
Description
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
Updated by ko1 (Koichi Sasada) almost 12 years ago
- Assignee set to mame (Yusuke Endoh)
Updated by mame (Yusuke Endoh) almost 12 years ago
- Status changed from Open to Assigned
- Assignee changed from mame (Yusuke Endoh) to luislavena (Luis Lavena)
Luis, do you know anything?
--
Yusuke Endoh mame@tsg.ne.jp
Updated by luislavena (Luis Lavena) almost 12 years ago
mame (Yusuke Endoh) wrote:
Luis, do you know anything?
Issue got introduced in r39107 by Nobu and appears to be solved in trunk by r39267 and r39284 (nobu and naruse commits).
Trunk is building right now, going to confirm if this is correct.
Please hold.
Updated by jonforums (Jon Forums) almost 12 years ago
my build failed with r39287 so r39284 doesn't fix it. I suspect tweaks from r39267 and/or r39273.
Updated by naruse (Yui NARUSE) almost 12 years ago
- Assignee changed from luislavena (Luis Lavena) to nobu (Nobuyoshi Nakada)
Updated by jonforums (Jon Forums) almost 12 years ago
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
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
- Status changed from Assigned to Closed