创建符号链接失败

时间:2016-06-13 15:57:28

标签: linux symlink centos6 syntaxnet

我正在尝试在我的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)

2 个答案:

答案 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文件是否存在

  1. (如果可用),然后先复制文件,然后

  2. 然后默认使用以下方式删除yoursite.conf rm yourfile.conf

  3. ,然后使用您的命令创建链接: 如:ln -s /etc/httpd/sites-available/yoursites.conf /etc/httpd/sites-enabled/yoursites.conf