[ruby-dev:47852] [ruby-trunk - Bug #9160] configureに--with-rubylibprefixを指定するとrbconfigのprefixが空文字になる
From:
"kimuraw (Wataru Kimura)" <kimuraw@...>
Date:
2013-12-14 05:32:48 UTC
List:
ruby-dev #47852
Issue #9160 has been updated by kimuraw (Wataru Kimura).
File configure.in.diff added
configure.inへのパッチを作りました。
libdirと同じようにexec_prefixで置き換えを行うようにします。
----------------------------------------
Bug #9160: configureに--with-rubylibprefixを指定するとrbconfigのprefixが空文字になる
https://bugs.ruby-lang.org/issues/9160#change-43665
Author: kimuraw (Wataru Kimura)
Status: Open
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: build
Target version:
ruby -v: ruby 2.1.0dev (2013-11-26 trunk 40765) [x86_64-darwin13.0]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
=begin
== 現象
configureに--with-rubylibprefixを指定したとき、
RbConfig::CONFIG['prefix']および関連するbindirなどのprefixが空文字になってしまいます。
% ruby -rrbconfig -e 'p RbConfig::CONFIG["prefix"]'
""
% ruby -rrbconfig -e 'p RbConfig::CONFIG["bindir"]'
"/bin"
% ruby -rrbconfig -e 'p RbConfig.ruby'
"/bin/ruby"
2.1.0-preview2とtrunk r43859で発生することを確認しています。
2.0.0-p353と1.9.3-p484では起きていません。
rbconfig.rbのはじめのほうでTOPDIRを定義しているところで
TOPDIR = File.dirname(__FILE__).chomp!("/usr/local/lib/ruby21/2.1.0/x86_64-darwin13.0")
のようにprefix付きになってしまうことが原因のようです。
configureで--with-rubylibprefxを指定しなかった場合は、
chomp!("/lib/ruby/...")のようにprefixを除いた文字列になっています。
== 再現手順
% ./configure --with-rubylibprefix=/usr/local/lib/ruby21
% make ruby
% grep -n TOPDIR ./rbconfig.rb
9: TOPDIR = File.dirname(__FILE__).chomp!("/usr/local/lib/ruby21/2.1.0/x86_64-darwin13.0")
19: CONFIG["prefix"] = (TOPDIR || DESTDIR + "/usr/local")
%
=end
--
http://bugs.ruby-lang.org/