visual-studio-code - 启动 VS Code 时挂起并显示 "GLIBCXX_3.4.20 not found",我可以指向非标准位置的 libstdc++.so.6 吗?

标签 visual-studio-code rhel7

在计算集群的头节点上运行 RHEL 7.7。当我打开 VS Code 1.57.1​​ 时,它卡在介绍屏幕上。运行 $ code --verbose ,它显示错误:/usr/lib64/libstdc++.so.6:找不到版本 GLIBCXX_3.4.20。我必须杀-9挂code过程。 Google 告诉我,新版本的 VS Code 使用 Electron,需要更新的 GLIBCXX 版本。

/usr/lib64/libstdc++ 中安装的版本肯定是过时的,我无法更新它。但我确实有一个较新版本的 GCC,由 $ module load gcc8/8.4.0 加载。从/cm/shared/apps/gcc8/8.4.0/加载 GCC 的命令。库/cm/shared/apps/gcc8/8.4.0/lib64/libstdc++.so.6 具有请求的 GLIBCXX 版本。

我尝试在运行代码之前加载 gcc8,但这并没有改变错误。

有没有办法让 VS Code 使用 libstdc++.so.6 的替代位置?是否有更新系统范围的 libstdc++.so.6 库的替代方法?

这是来自 --verbose 的完整错误消息:

错误:/usr/lib64/libstdc++.so.6:未找到版本“GLIBCXX_3.4.20”(/usr/share/code/resources/app/node_modules.asar.unpacked/spdlog/build/Release/需要) spdlog.节点) 在 process.func [as dlopen] (electron/js2c/asar_bundle.js:5:1846)

这显示了 libstdc++ 过时的默认版本:

$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
...
GLIBCXX_3.4.18
GLIBCXX_3.4.19   <----Nope, this version is too old!
GLIBCXX_DEBUG_MESSAGE_LENGTH

这表明其他 libstdc++ 库具有所需的版本:

$ strings /cm/shared/apps/gcc8/8.4.0/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
...
GLIBCXX_3.4.19
GLIBCXX_3.4.20   <--- Here it is!
GLIBCXX_3.4.21
...
GLIBCXX_3.4.25
GLIBCXX_DEBUG_MESSAGE_LENGTH

最佳答案

根据 scroveez 的建议,/usr/lib64/libstdc++.so.6 确实是旧版本的符号链接(symbolic link)。为了修复这个问题,我将"new"版本 25 库复制到 /usr/lib64/ 中,并更改了符号链接(symbolic link)以指向较新的版本。

$ ll /usr/lib/libstdc++.so.*
lrwxrwxrwx 1 root root      18 Apr 30  2019 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root  739520 Nov 13  2014 /usr/lib/libstdc++.so.5.0.7
lrwxrwxrwx 1 root root      19 Jul  6 08:56 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.25
-rwxr-xr-x 1 root root  934644 Mar 25  2020 /usr/lib/libstdc++.so.6.0.19
-rwxr-xr-x 1 root root 1570176 Jul  6 08:55 /usr/lib/libstdc++.so.6.0.25
$

关于visual-studio-code - 启动 VS Code 时挂起并显示 "GLIBCXX_3.4.20 not found",我可以指向非标准位置的 libstdc++.so.6 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68231387/

相关文章:

linux - RH 7.1 Linux,yum 安装问题

Apache Httpd Build from source : fatal error: expat. h:没有这样的文件或目录

json - VSCode 没有使用正确的设置添加右括号

python - vscode "python.jediEnabled": false, 显示为未知配置设置

java - 在 VSCode 中使用 Kotlin

linux - 如何使用文件名中的通配符从chown递归中排除文件?

visual-studio-code - 如何在 VSCode 的 launch.json 中使用自定义环境变量

c# - 在 Visual Studio Code 中自动设置 C# 代码格式

python - 阻止 rh-python35 替换 `python` 二进制文件中的 Python 2.7

php - RHEL 7.4 未加载 httpd 的 php 扩展并且也无法配置它