我正在尝试在我的CentOS 6.7机器上升级glibcxx。我按照here给出了步骤。
现在,当我这样做时:
strings /opt/google/chrome/lib/libstdc++.so.6 | grep GLIBC
我列出了GLIBCXX_3.4到GLIBCXX_3.4.22。
要在我的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 :(得分:3)
我认为错误是因为文件名相同
错误告诉您/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
并将/opt/google/chrome/lib/libstdc++.so.6重命名为libstdc ++。so.6_new
这正是错误的要做的事情。在尝试修复错误之前,您应该尝试了解错误告诉您的内容。
我将/opt/google/chrome/lib/libstdc++.so.6文件的内容复制到/usr/lib64/libstdc++.so.6并使其正常工作。
这有一个缺点:如果/opt/google/chrome/lib/libstdc++.so.6
更新,则/usr/lib64
中的副本不会。您应该改为上面的ln -sf
。
答案 1 :(得分:1)
对于linux: 1.首先检查/ etc / httpd / sites-enabled / 寻找yoursite.conf文件是否存在
(如果可用),然后先复制文件,然后
然后默认使用以下方式删除yoursite.conf rm yourfile.conf