2016-06-13 14 views
1

CentOS 6.7マシンでglibcxxをアップグレードしようとしています。私は与えられたステップを行ったhereシンボリックリンクの作成に失敗しました

さて、私が行うとき:

strings /opt/google/chrome/lib/libstdc++.so.6 | grep GLIBC 

私が記載されているのGLIBCXX_3.4.22するGLIBCXX_3.4を持っています。

私Syantaxnetビルドで、このファイルを使用するには、私はシンボリックリンクを作成しました:

ln -s /opt/google/chrome/lib/libstdc++.so.6 /usr/lib64/libstdc++.so.6 

をしかし、私はエラーを取得:

ln: creating symbolic link `/usr/lib64/libstdc++.so.6': File exists 

EDIT1:

を私はエラーが思いました同じファイル名のために、/opt/google/chrome/lib/libstdc++.so.6からlibstdC++。so.6_newに名前が変更されました。コマンドはまだ失敗します。

誰かが私にこれを理解させる手助けができますか?また、これはエラーのためのソリューションです:

/usr/local/bin/bazel: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/local/bin/bazel) 
/usr/local/bin/bazel: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/local/bin/bazel) 
+0

ln -sに与えられたファイル名の順序を逆転しようとしましたか? –

+0

はい、私はしましたが、それは同じエラーを与えていました。とにかく、/opt/google/chrome/lib/libstdc++.so.6ファイルの内容を/usr/lib64/libstdc++.so.6にコピーして動作させました。御時間ありがとうございます! – kskp

+0

あなたがそれを修正したように見えるので、シンボリックリンクの問題ではないように見えます。あなたが直面している問題は、システムにGLIBCXX_3.4.XXが存在しないことです。ポインタについては、[this](http://stackoverflow.com/questions/5216399/usr-lib-libstdc-so-6-version-glibcxx-3-4-15-not-found)のリンクを参照してください。お役に立てれば! – rurtle

答えて

1

I thought the error was because of the same file names

エラーが/usr/lib64/libstdc++.so.6がすでに存在していることを語っています。あなたはそれを交換したい場合は

、次の操作を行います。

ln -sf /opt/google/chrome/lib/libstdc++.so.6 /usr/lib64/libstdc++.so.6 

またはこれを:正確に行うには間違っものだった

rm -f /usr/lib64/libstdc++.so.6 
ln -s /opt/google/chrome/lib/libstdc++.so.6 /usr/lib64/libstdc++.so.6 

and renamed /opt/google/chrome/lib/libstdc++.so.6 to libstdc++.so.6_new

。エラーを修正しようとする前にエラーが何を伝えているのかを理解するようにしてください。

I copied the contents of the /opt/google/chrome/lib/libstdc++.so.6 file into /usr/lib64/libstdc++.so.6 and got it working.

これは欠点があります:/opt/google/chrome/lib/libstdc++.so.6が更新された場合、/usr/lib64でのコピーはしません。おそらく上記のln -sfを実行する必要があります。

関連する問題