【Anaconda】libGL error: MESA-LOADER: failed to open swrast
第一行是自己虚拟环境的 lib,eg 虚拟环境是 name 是。是存在的,而在自己的 anaconda 虚拟环境中不存在。解决思路,在自己的虚拟环境中 ln 软连接相关库。版本来建立软连接,比如你的版本是。最后一行根据你虚拟环境中存在的。,那么最后一行的指令应该是。
·

报错信息如下:
libGL error: MESA-LOADER: failed to open swrast
libGL error: failed to load driver: swrast
version `GLIBCXX_3.4.30' not found

运行
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
output
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
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_3.4.30
GLIBCXX_DEBUG_MESSAGE_LENGTH
发现版本 GLIBCXX_3.4.30 是存在的,而在自己的 anaconda 虚拟环境中不存在
解决思路,在自己的虚拟环境中 ln 软连接相关库
$ cd /home/$USER/miniconda/lib
$ mkdir backup # Create a new folder to keep the original libstdc++
$ mv libstd* backup # Put all libstdc++ files into the folder, including soft links
$ cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./ # Copy the c++ dynamic link library of the system here
$ ln -s libstdc++.so.6 libstdc++.so
$ ln -s libstdc++.so.6 libstdc++.so.6.0.19
第一行是自己虚拟环境的 lib,eg 虚拟环境是 name 是 source1,第一行可以是 /home/bryant/anaconda3/envs/source1/lib/
最后一行根据你虚拟环境中存在的 libstdc++.so.xxx 版本来建立软连接,比如你的版本是 libstdc++.so.6.0.29,那么最后一行的指令应该是 ln -s libstdc++.so.6 libstdc++.so.6.0.29

参考:
更多推荐
所有评论(0)