尽管 libstdc++.so.6 足够新,但仍未找到版本“GLIBCXX_3.4.26”

尽管 libstdc++.so.6 足够新,但仍未找到版本“GLIBCXX_3.4.26”

我知道有很多这样的问题,但与其他问题不同的是,我的 libstdc++.so.6 实际上看起来已经足够新了(请参阅下文了解它导出的字符串)。这是在尝试加载我自己刚刚编译的动态库时出现的错误。apt-get upgrade 诸如此类的信息告诉我 libstdc++.so.6 已经是最新的(版本为libstdc++6 is already the newest version (9.1.0-2ubuntu2~18.04))。

加载此库时出现完整错误(在 MATLAB R2019a 中):

'/home/dee/git_repos/Titta/TobiiMex/TobiiMex_matlab/64/TobiiMex_matlab.mexa64':
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by
/home/dee/git_repos/Titta/TobiiMex/TobiiMex_matlab/64/TobiiMex_matlab.mexa64)

输出strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.14
GLIBC_2.6
GLIBC_2.4
GLIBC_2.18
GLIBC_2.16
GLIBC_2.3.4
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

我可以尝试什么来修复此问题?

答案1

安装libstdc++6gcc-9帮助了我。希望它也能帮助你。

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-9
sudo apt install libstdc++6

答案2

可以export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/帮忙吗?

答案3

我在 libstdc++.so.6 上遇到了类似的问题,它在命令行中可以在 R 中运行,但在 rstudio IDE 中却不行。它的最新版本不是放在 /usr/lib/x86_64-linux-gnu(rstudio 默认),而是放在 conda 环境(/home/user/myproject/envs/default/lib)中。对我来说,Brent81 的答案解决了这个问题。我用过, export LD_LIBRARY_PATH=/home/user/myproject/envs/default/lib 它有效。

答案4

我今天也遇到了同样的问题。之前我使用折断

而且只是卸载重新安装使用折断沒有改變任何内容。

但使用安装它apt-get 帮我解决


请注意,新安装不会自动导入您的个人数据

事实上,我不确定卸载该软件的 snap 版本后用户数据会发生什么。如果你知道了,请告诉我

相关内容