丝滑解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题

夹小汁 2024-06-21 13:37:01 阅读 57

基础环境:MacOS m1、python=3.9

前情提要:在Anaconda终端运行代码的时候,显示报错:

importError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found

问题分析:根据提示是 /usr/lib/x86_64-linux-gnu/ 路径下的 libstdc++.so.6 缺少版本 GLIBCXX_3.4.29

解决过程

我们可以输入以下指令查看当前路径下有哪些版本

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXXcode>

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_DEBUG_MESSAGE_LENGTH

可以发现输出的结果里确实缺少了我们需要的版本GLIBCXX_3.4.29

使用管理员权限,查看当前系统下同类型文件

sudo find / -name "libstdc++.so.6*"

结果显示,里面确实有同类型的文件,我们直接选择一个查看是否有我们需要的版本

/root/miniconda3/envs/coat/lib/libstdc++.so.6

/root/miniconda3/envs/coat/lib/libstdc++.so.6.0.32

/root/miniconda3/lib/libstdc++.so.6

/root/miniconda3/lib/libstdc++.so.6.0.29

/usr/lib/x86_64-linux-gnu/libstdc++.so.6

/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28

/usr/lib/i386-linux-gnu/libstdc++.so.6

/usr/lib/i386-linux-gnu/libstdc++.so.6.0.28

/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28-gdb.py

/usr/share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdc++.so.6.0.28-gdb.py

用上述路径对应版本进行尝试

strings /root/miniconda3/lib/libstdc++.so.6.0.29 | grep GLIBCXX

输出的结果如下,可以发现里面有我们需要的版本3.4.29

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_DEBUG_MESSAGE_LENGTH

_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4

_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5

_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4

_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5

GLIBCXX_3.4.21

GLIBCXX_3.4.9

_ZSt10adopt_lock@@GLIBCXX_3.4.11

GLIBCXX_3.4.10

GLIBCXX_3.4.16

GLIBCXX_3.4.1

_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4

GLIBCXX_3.4.28

_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4

GLIBCXX_3.4.25

_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5

_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5

_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4

_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4

_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5

_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4

_ZSt10defer_lock@@GLIBCXX_3.4.11

ZN10__gnu_norm15_List_node_base4swapERS0_S1@@GLIBCXX_3.4

_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5

_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5

_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5

_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4

GLIBCXX_3.4.24

_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11

GLIBCXX_3.4.20

ZNSt11char_traitsIwE2eqERKwS2@@GLIBCXX_3.4.5

GLIBCXX_3.4.12

_ZNSi6ignoreEv@@GLIBCXX_3.4.5

GLIBCXX_3.4.2

ZNSt11char_traitsIcE2eqERKcS2@@GLIBCXX_3.4.5

GLIBCXX_3.4.6

GLIBCXX_3.4.15

_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5

_ZNSs9_M_assignEPcmc@GLIBCXX_3.4

GLIBCXX_3.4.19

_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4

_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4

GLIBCXX_3.4.27

_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4

ZN10__gnu_norm15_List_node_base4hookEPS0@@GLIBCXX_3.4

ZNSt11char_traitsIwE2eqERKwS2@GLIBCXX_3.4

_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4

_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5

GLIBCXX_3.4.23

GLIBCXX_3.4.3

GLIBCXX_3.4.7

_ZNSi6ignoreEl@@GLIBCXX_3.4.5

_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5

_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4

_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5

_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5

GLIBCXX_3.4.18

_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4

_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5

_ZSt15future_category@@GLIBCXX_3.4.14

_ZNSi6ignoreEl@GLIBCXX_3.4

GLIBCXX_3.4.29

ZNSt11char_traitsIcE2eqERKcS2@GLIBCXX_3.4

_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4

ZN10__gnu_norm15_List_node_base8transferEPS0_S1@@GLIBCXX_3.4

_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4

_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11

_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5

_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4

_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4

_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4

_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5

_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4

_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5

_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4

GLIBCXX_3.4.22

_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5

_ZNSi6ignoreEv@GLIBCXX_3.4

_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5

GLIBCXX_3.4.8

GLIBCXX_3.4.13

_ZSt11try_to_lock@@GLIBCXX_3.4.11

_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5

GLIBCXX_3.4.17

GLIBCXX_3.4.4

_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5

_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4

_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5

GLIBCXX_3.4.26

_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4

将此处的文件拷贝到我们需要的文件夹内,删除原来的链接,并建立起新的🔗

cp /root/miniconda3/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/

rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6

ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。