zoukankan      html  css  js  c++  java
  • “libgomp.so.1: version `GOMP_4.0' not found” || “libstdc++.so.6: version `CXXABI_1.3.8' not found”错误

    类似问题还有 'ImportError ../lib/libstdc++.so.6: version `CXXABI_1.3.7' not found (required by xxx)'、       'ImportError ../lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by xxx)'等。


    这种报错情况一般出现在Anaconda环境的Python程序中,原因是Anaconda对应目录下的“libgomp.so.1”和“libstdc++.so.6”动态库文件(lib)中相关模块的版本比较旧,不包含相应版本模块导致的


    系统中动态库存放路径在/usr/lib/x86_64-linux-gnu/      或   /usr/lib/


    anaconda中动态库存放路径是~/anaconda2/lib


    查看Linux系统动态库文件包含的模块版本:

    strings /usr/lib/libstdc++.so.6 | grep 'CXXABI'


    或者

    strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep 'CXXABI'


    输出:

    CXXABI_1.3
    CXXABI_1.3.1
    CXXABI_1.3.2
    CXXABI_1.3.3
    CXXABI_1.3.4
    CXXABI_1.3.5
    CXXABI_1.3.6
    CXXABI_1.3.7
    CXXABI_1.3.8
    CXXABI_1.3.9
    CXXABI_TM_1
    CXXABI_FLOAT128
    

    查看anaconda路径下动态库文件所包含的模块版本:

    strings anaconda2/lib/libstdc++.so.6 | grep 'CXXABI'


    输出:

    CXXABI_1.3
    CXXABI_1.3.1
    CXXABI_1.3.2
    CXXABI_1.3.3
    CXXABI_1.3.4
    CXXABI_1.3.5
    CXXABI_1.3.6
    CXXABI_1.3.7
    CXXABI_TM_1


    系统目录下的文件包含所需模块的版本‘CXXABI_1.3.8’和‘CXXABI_1.3.9’,复制系统目录下的动态库文件替换掉anaconda目录下的动态库文件,问题就解决了


    同样可以使用strings指令查看anaconda中和系统下libgomp.so.1文件中分别包含的版本:

    strings libgomp.so.1 | grep "GOMP"
     

    如果系统目录lib也不包含所需模块,可以尝试使用以下命令更新动态库文件:

    LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install gcc-4.9 g++-4.9

  • 相关阅读:
    Redis_数据类型
    python 单独设置在plot每条线的label为中文
    制作9patch图片心得——Android开发使用类似QQ聊天的冒泡对话框
    Oracle数据库实验一建立数据库
    Postman使用总结
    jmeter使用小结
    python实现系统调用cmd命令的模块---subprocess模块
    程序进程线程之间的区别
    Fiddler抓包工具简介
    MySQL基础SQL命令---增删改查
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9411783.html
Copyright © 2011-2022 走看看