Actions
Bug #1305
closedtarget_os が darwin 系の場合に動的リンク不可能な実行形式が生成される場合がある
ruby -v:
ruby 1.9.2dev (2009-03-20 trunk 23011) [i386-darwin9.6.0]
Backport:
Description
=begin
configure.in の --enable-shared を処理する部分で、target_os が darwin 系の場合、LIBRUBY_DLDFLAGS が
if test "$load_relative" = yes; then
libprefix='@executable_path/..'
else
libprefix='$(libdir)'
fi
LIBRUBY_DLDFLAGS='-install_name '${libprefix}'/lib/lib$(RUBY_SO_NAME).dylib'
このように設定される。
そのため、$load_relative が no の場合に共有ライブラリの位置が
$(libdir)/lib/lib$(RUBY_SO_NAME).dylib
という不正な値になってしまう。
そして、最終的に生成される実行形式は動的リンクを解決できない。
これは、
if test "$load_relative" = yes; then
libprefix='@executable_path/../lib'
else
libprefix='$(libdir)'
fi
LIBRUBY_DLDFLAGS='-install_name '${libprefix}'/lib$(RUBY_SO_NAME).dylib'
とするのが正解であると思われる。
=end
Files
Actions
Like0
Like0