ホームディレクトリにgcc-4.6.4をビルドしてインストールしました(ルート権限がありません)。いくつかのオブジェクト ファイルを g++ で実行可能ファイルにリンクすると、「間違った」libstdc++.so.6 がリンクされます。
インストールディレクトリにある新しいものではなく、システムのものを使用します。
ライブラリの排他的な検索パスを指定する方法はありますか?
私のbashrc:
PATH=$PATH:/home/testuser/selfcompiled/gcc-4.6.4/bin:/usr/local/cuda/bin
export PATH
C_INCLUDE_PATH=/home/testuser/selfcompiled/gcc-4.6.4/include
export C_INCLUDE_PATH
CPLUS_INCLUDE_PATH=/home/testuser/selfcompiled/gcc-4.6.4/include
export CPLUS_INCLUDE_PATH
LIBRARY_PATH=/home/testuser/selfcompiled/gcc-4.6.4/lib:/home/testuser/selfcompiled/gcc-4.6.4/lib64/lib
export LIBRARY_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/cudaprof/bin:/home/testuser/selfcompiled/gcc-4.6.4/lib:/home/testuser/selfcompiled/gcc-4.6.4/lib64/lib
export LD_LIBRARY_PATH
GCC_EXEC_PREFIX=/home/testuser/selfcompiled/gcc-4.6.4/lib/gcc/
export GCC_EXEC_PREFIX
COMPILER_PATH=/home/testuser/selfcompiled/gcc-4.6.4/bin/:/home/testuser/selfcompiled/gcc-4.6.4/libexec/:/home/testuser/selfcompiled/gcc-4.6.4/lib/gcc/
export COMPILER_PATH
g++ -L.... を介してローカルの libstdc++.so.6 で dir を指定しても、/usr/... にあるものは ldd に従って実行可能ファイルにリンクされます。
どうもありがとう!