Project

General

Profile

ActionsLike0

Bug #7871

closed

exec_prefix regression breaks mingw

Added by jonforums (Jon Forums) almost 12 years ago. Updated almost 12 years ago.

Status:
Closed
Target version:
ruby -v:
2.0.0dev (2013-02-17 trunk 39287) [i386-mingw32]
Backport:
[ruby-core:52308]

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


Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #7860: Passing --libdir to ./configure causes Gem.ruby to point to an incorrect ruby interpreter pathClosednobu (Nobuyoshi Nakada)Actions

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

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
ActionsLike0

Also available in: Atom PDF