Katsutoshi Itoh
cut-s****@maste*****
2004年 8月 5日 (木) 19:39:03 JST
In message <20040****@lava*****>, Shiro Kawai writes: >From: Yuji Yamano <yyama****@kt*****> >Subject: [Gauche-devel-jp] Re: I have error with making 0.8.1. >Date: Thu, 05 Aug 2004 00:20:08 +0900 (JST) > >> NetBSDでは共有ライブラリは以下の順番で検索されます。 >> >> http://netbsd.gw.com/cgi-bin/man-cgi?ld.elf_so+1+NetBSD-1.6.2 >> >> 1. LD_LIBRARY_PATH と /etc/ld.so.conf >> 2. リンク時に--rpathで埋め込まれたパス >> 3. /usr/lib > (snip) >しかしビルド時に本当に見て欲しい--rpath情報が見てもらえないと。 うーむ、そうだったのですか。 現在コンパイル時にはLD_LIBRARY_PATHの先頭に src ディレクトリを 追加しているので、以前も示しましたけど、 gosh: -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.1/src/libgauche.so -lc.12 => /usr/lib/libc.so.12 こんな風になってますよね。 この後、LD_LIBRARY_PATH の設定を元に戻しておけば 1 の規則が適用されるとして cut-sea は問題無いわけですね。 インストール後はまた /usr/local/lib とかに libgauche.so が入るわけだから、それが参照されると。 気になったのはこれをインストールしたとして、 そのシステム上の他のユーザが gosh を使おうとした場合、 そのユーザが LD_LIBRARY_PATH を設定してなかったり 別の設定になっているとかで 2 の規則が適用されると どうなっちゃうんだろうと思ってしまったんですけど、 どうなるんでしょ。