2012-04-23 8 views
1

私のツールチェーンをベンダーの要求とは異なるディレクトリにインストールしたので、COMPILER_PATH、C_INCLUDE_PATH、CPLUS_INCLUDE_PATH、およびLIBRARY_PATH変数を適切に設定することで簡単に解決できる小さな問題を実行しました。回帰ldルックアップ

しかし、私はそう簡単にかわすように見えることはできません1つの問題がある:

[email protected]:/tmp/async$ xscale-linux-g++ -fPIC -DBOOST_ASIO_DISABLE_EPOLL -I/var/lib/c++/boost/boost_1_48_0/target/arm-linux-4.4.2/include -oasync main.cpp -L/var/lib/c++/boost/boost_1_48_0/target/arm-linux-4.4.2/lib/static -pthread -lboost_system -lboost_thread 
/var/toolchains/arm-linux/4.4.2/arm-linux-4.4.2/arm-linux/bin/ld: cannot find /usr/local/arm-linux-4.4.2/lib/be/libpthread.so.0 
collect2: ld returned 1 exit status 

私はldは、絶対パスでライブラリを探していることになる理由としてわからないけど、それは正確に何がここにあるようです。この動作を回避し、共有ライブラリの正しいパスを提供する方法はありますか?

+0

'ldconfig'設定を確認しましたか?おそらくそれはそこにあり、まだキャッシュに詰まっています。 'man ldconfig'を参照してください。 –

答えて

0

私が考えることができる唯一のことは、シンボリックリンクを実際には見えますが、正しいファイルにポイントすることです。

+0

返事をありがとう。残念ながら、それはもちろん私がここで避けたかったものです。ツールチェーンのいくつかはデフォルトで同じパスを割り当てるため、私は別のディレクトリにツールチェーンをインストールしました。それらを同じシステムにインストールするには、別のディレクトリにそれらを必要とし、どちらのシンボリックリンクも使用できません。 –