Katsutoshi Itoh
cut-s****@maste*****
2004年 12月 1日 (水) 20:17:23 JST
In message <20041****@lava*****>, Shiro Kawai writes: >あっなるほど。今のMakefileだと、--with-localがあると >そのディレクトリを差す -L フラグの方が先に入っちゃうんですね。 >だから古いlibgaucheを見てしまうと。 > >goshのリンク時もフラグの順番は変わりませんが、ダイナミック >リンクになるので実行時にはLD_LIBRARY_PATHとrpathが効いて >いるのでしょう。(test-arithはスタティックリンクにしている)。 うーん。すみません。 分かったつもりが、まだよく理解できてなかったです。 なんで test-vmstack の方は問題無くコンパイルできてしまうんだろうと。 で、再度コンパイルためして ldd で見てみたら、 cut-sea @ jini> make test-vmstack TARGETLIB=`pwd` gcc -g -O2 -fPIC -DPIC -Wl,--rpath "-Wl,`pwd`" -L/usr/pkg/lib -o test-vmstack test-vmstack.o -L. -lgauche -lcrypt -lutil -lm cut-sea @ jini> ldd test-vmstack test-vmstack: -lcrypt.0 => /usr/lib/libcrypt.so.0 -lutil.6 => /usr/lib/libutil.so.6 -lm.0 => /usr/lib/libm387.so.0 -lm.0 => /usr/lib/libm.so.0 -lgauche => /home/cut-sea/compile/Gauche-0.8.2/src/libgauche.so -lc.12 => /usr/lib/libc.so.12 この違いは何でなんでしょうか。