创建符号 link 失败

Creating Symbolic link fails

我正在尝试在我的 CentOS 6.7 机器上升级 glibcxx。我按照给定的步骤执行了 here

现在,当我这样做时:

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

我列出了 GLIBCXX_3.4 到 GLIBCXX_3.4.22。

为了在我的 Syantaxnet 构建中使用这个文件,我创建了一个符号 link:

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

编辑 1:

我以为是文件名相同导致的错误,将/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)

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

对于linux: 1.首先检查/etc/httpd/sites-enabled/里面 foder yoursite.conf 文件是否存在

  1. 如果可用则先复制文件然后

  2. 然后默认yoursite.conf删除使用 rm yourfile.conf

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