いがらしです。ruby-devに振ります。 postgresだから関係ないやとか思ってたけど、 実は僕が困っていたのと同じ問題だったようです。 At Sat, 3 Jun 2000 22:40:48 +0900, in [ruby-list:23044] Re: postgres-0.6.0 + mod_ruby + eRuby, Minero Aoki <aamine / dp.u-netsurf.ne.jp> wrote: > > In mail "[ruby-list:23041] Re: postgres-0.6.0 + mod_ruby + eRuby" > Kentaro Inagaki / 稲垣 健太郎 <inagaki / tg.rim.or.jp> wrote: > > > -r-xr-xr-x 1 root wheel 1500127 Jun 1 21:55 /usr/local/lib/ruby/1.5/i386-freebsd5.0/postgres.so > > > こんなにでかいものなんでしょうか? > > これって、ruby がスタティックリンクされてませんか? > strip してないと ruby が 1MB くらいあったはずです。 lib/mkmf.rb の 1.7 ---> 1.8 の変更で diff -u -r1.7 -r1.8 --- lib/mkmf.rb 2000/04/12 05:06:23 1.7 +++ lib/mkmf.rb 2000/05/09 04:53:14 1.8 @@ -328,6 +328,11 @@ end $DLDFLAGS = CONFIG["DLDFLAGS"] + if $configure_args['--enable-shared'] + $libs = CONFIG["LIBRUBYARG"] + " " + $libs + $DLDFLAGS = $DLDFLAGS + " -L$(topdir)" # <------ + end + if RUBY_PLATFORM =~ /beos/ $libs = $libs + " " + CONFIG["LIBRUBYARG"] $DLDFLAGS = $DLDFLAGS + " -L" + CONFIG["prefix"] + "/lib" と、アーキテクチャ依存のディレクトリ (/usr/local/lib/ruby/1.5/i386-freebsd5.0/とか)を 見に行くようになったみたいですが、 そのせいでstatic linkされてしまうようです。 もともとの変更の意図を理解していないのですが、 該当行をcomment outしてしのいでいます。 ちなみに環境は Linux 2.0.35 libc 5.4.44 gcc 2.7.2.3 GNU ld 2.8.1 です。 こんな環境(Debian potato) Linux 2.2.10 glibc 2.1.3 GNU ld 2.9.5 gcc 2.95.2 では、static linkされるもののSEGVったりはしませんでした。 # 気づくまで1週間もかかった…… -- 五十嵐 宏 (Hiroshi IGARASHI)