From: Takahiro Kambe Date: 2006-03-20T01:13:19+09:00 Subject: [ruby-dev:28440] SunPro compiler and rpath こんばんは。 SolarisでSunProのcompilerを使うと、拡張ライブラリが見つからないという 報告を貰いました。Rubyは1.8.4です。 % ldd /usr/pkg/lib/ruby/1.8/sparc-solaris2/pty.so libruby18.so => (file not found) libdl.so.1 => /lib/libdl.so.1 libm.so.1 => /lib/libm.so.1 libc.so.1 => /lib/libc.so.1 /usr/platform/FJSV,GPUZC-M/lib/sparcv9/libc_psr.so.1 勤務先にある Solaris 8 で、Sun Studio 11に含まれるSunProのコンパイラで 再現できました。configure.inを見ていると 1229 行あたりから、 solaris*) SOLIBS='$(LIBS)' LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)' LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR).$(TEENY) lib$(RUBY_SO_NAME).so' if test "$GCC" = yes; then LIBRUBY_DLDFLAGS="$DLDFLAGS "'-Wl,-h,$(@F)' else enable_rpath=no fi XLDFLAGS="$XLDFLAGS "'-R${libdir}' ;; といったことが書かれています。どうも、ここの else enable_rpath=no を削除すると助かるようです。 % ldd /usr/pkg/lib/ruby/1.8/sparc-solaris2/pty.so libruby18.so => /usr/pkg/lib/libruby18.so libdl.so.1 => /usr/lib/64/libdl.so.1 libm.so.1 => /usr/lib/64/libm.so.1 libc.so.1 => /usr/lib/64/libc.so.1 /usr/platform/FJSV,GPUZC-M/lib/sparcv9/libc_psr.so.1 この部分は、どのような経緯で入ったのでしょう? ログには、 [ruby-dev:25035] が参照されていますが、enable_rpathを明示的に no とし ている部分はわかりませんでした。 -- 神戸 隆博 / Takahiro Kambe