■掲示板に戻る■ 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50

レス数が900を超えています。1000を超えると表示できなくなるよ。

Solaris教えてスレッド 其の弐

237 :231 :2001/07/07(土) 08:48
>>235
-Rは実行時検索パス、-Lは構築時検索パスなので、-Rはコンパイル時では
なくコマンド実行時に使用されるのでは?

-Rで共有ライブラリの場所を指定した場合、場所の情報はバイナリに埋めこま
れるので、235の例ではマズかったような気がする。(勘違いだったらすまそん)

235の例の場合、コマンドを実行すると/tmp/work/libにライブラリを探しにいく
けど、実際には/usr/local/libにあるので、エラーになるんじゃないかな。

対策としては、

1.コンパイル時に、-R/usr/local/libも追加しておく
tmp/work/libで作業するなら、-L/tmp/work/lib -R/usr/local/lib
-R/tmp/work/lib とすればいいかもしれない。"-R/tmp/work/lib"は、
make中の動作テスト対策ということで。

2.shellで環境変数LD_LIBRARY_PATHを設定してごまかす。
コマンド実行時に/usr/local/libを見に行くよう、LD_LIBRARY_PATHを設
定する。

3.crleコマンドで設定しておく
Linuxでの/etc/ld.so.confみたいなもの。
crle -l /lib -s /lib -l /usr/lib -l /usr/local/lib
-l /usr/openwin/lib -l /usr/ucblib -s /usr/lib -s
/usr/local/lib -s /usr/openwin/lib -s /usr/ucblib
みたいな感じ。


次100 最新50
名前: E-mail (省略可) :

read.cgi ver5.26+ (01/10/21-)