[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00653] Re: problem with shared library



青野です。すみません、間違ってたところがありました。

<20010725.172941.74183360.hamajima@nagoya.ydc.co.jp>の記事において
hamajima@nagoya.ydc.co.jpさんは書きました。

>> 私がlibtoolのことをわかっていないので変なことをいっぱい書いてしまいまし
>> たが、FreeWnn-1.1.1-a018ではこうなります。当然インストールしてもこのパス
>> のままです。
>> 
>> % ldd .libs/wnnkill
>> .libs/wnnkill:
>>          /home/hamajima/src/FreeWnn/FreeWnn-1.1.1-a017-pl4/Xsi/Wnn/jlib/.libs/libwnn.so => /home/hamajima/src/FreeWnn/FreeWnn-1.1.1-a017-pl4/Xsi/Wnn/jlib/.libs/libwnn.so

確かに元のライブラリがフルパスでとられるのはおかしいですね…。

>> # ちなみにこのバージョンでは--mode-executeは使えません。
>> # % ../../libtool --mode-execute ldd wnnkill
>> # libtool: unrecognized option `--mode-execute'
>> # Try `libtool --help' for more information.

すみません、間違えてました。--mode=executeでした。
Solaris-2.4の場合の出力を以下に示します。

% ../../libtool --mode=execute ldd wnnkill
	libwnn.so.0 =>	 /home/aono/work/FreeWnn/FreeWnn-1.1.1-a018/build/Wnn/jutil/../jlib/.libs/libwnn.so.0
	libnsl.so.1 =>	 /usr/lib/libnsl.so.1
	libsocket.so.1 =>	 /usr/lib/libsocket.so.1
	libc.so.1 =>	 /usr/lib/libc.so.1
	libdl.so.1 =>	 /usr/lib/libdl.so.1
	libintl.so.1 =>	 /usr/lib/libintl.so.1
	libw.so.1 =>	 /usr/lib/libw.so.1
% ldd .libs/wnnkill
	libwnn.so.0 =>	 (not found)
(以下、上と同じ)
#実はまだ/usr/local/lib にインストールしていないのです。
% dump -Lv .libs/wnnkill | grep RPATH
[7]	RPATH    /usr/local/lib
#バイナリ中の情報を抜き出すコマンドです。NetBSDでは
#objdump -pとかになるのでしょうか。

>> ・結論
>> libtoolのバージョンが古くて、OSの最新バージョンに対応していない
>>
>> ・対策
>> libtoolのバージョンアップ

原因がつかめなくても、可能ならバージョンアップした方がよさ
そうですね。

>> > ##NetBSDはldconfigで設定するプラットフォームでしたっけ。
>> 
>> aoutなアーキテクチャはそうです。そうでない(ELF)のも多数あります。

なるほど…。

>> >>> ○その2
についてはあまり触れません。
#DESTDIRは使わないのでよく分からないのです。
----
大阪教育大学 情報処理センター
青野智樹	(aono@cc.osaka-kyoiku.ac.jp)
#情報処理センターに関するお問い合わせは 
#center@cc.osaka-kyoiku.ac.jp へお願いします。


http://www.freewnn.org/ FreeWnn Project