• Centos 7升级gcc版本和CXXABI_1.3.8' not found错误解决


    Centos 7升级gcc版本和CXXABI_1.3.8' not found错误解决

    Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译

    1、安装centos-release-scl

    sudo yum install centos-release-scl
    

    2、安装devtoolset,注意,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推

    sudo yum install devtoolset-8-gcc*
    

    3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

    scl enable devtoolset-8 bash
    

    大功告成,查看一下gcc版本

    gcc -v
    

    显示为 gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)

    补充:这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本,要想随意切换可按如下操作。

    首先,安装的devtoolset是在 /opt/rh 目录下的,如图

    img

    每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行

    source ./enable
    

    所以要想切换到某个版本,只需要执行

    source /opt/rh/devtoolset-8/enable
    

    可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换,或者开机自启

    4、直接替换旧的gcc

    旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable

    mv /usr/bin/gcc /usr/bin/gcc-4.8.5
    
    ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
    
    mv /usr/bin/g++ /usr/bin/g++-4.8.5
    
    ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
    
    gcc --version
    
    g++ --version
    

    二、`CXXABI_1.3.8' not found错误解决

    错误内容

    ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found 
    (required by /usr/local/python3/lib/python3.7/site-pacnsorflow/python/_pywrap_tensorflow_internal.so)
    

    解决方案

    查询自己的

    strings /lib64/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
    

    查询系统上的libstdc++.so

    find / -name "libstdc++.so*"
    
    /home/oracle/app/oracle/product/11.2.0/dbhome_1/lib/stubs/libstdc++.so.6
    /home/oracle/app/oracle/product/11.2.0/dbhome_1/lib/stubs/libstdc++.so
    find: ‘/run/user/1000/gvfs’: Permission denied
    /var/lib/docker/overlay2/bbe8caaf0682e1fec1557c1f4fd8783df3101c54b7b5dedb6d6152f17f48806c/diff/usr/lib/x86_64-linux-gnu/libo.6
    /var/lib/docker/overlay2/bbe8caaf0682e1fec1557c1f4fd8783df3101c54b7b5dedb6d6152f17f48806c/diff/usr/lib/x86_64-linux-gnu/libo.6.0.22
    /var/lib/docker/overlay2/bbe8caaf0682e1fec1557c1f4fd8783df3101c54b7b5dedb6d6152f17f48806c/diff/usr/share/gdb/auto-load/usr/64-linux-gnu/libstdc++.so.6.0.22-gdb.py
    /var/lib/docker/overlay2/b36a8373a0ba558a126b00b87518669d99eaf3baf1695a1e2e52c40088fbebfc/diff/usr/lib64/libstdc++.so.6
    /var/lib/docker/overlay2/b36a8373a0ba558a126b00b87518669d99eaf3baf1695a1e2e52c40088fbebfc/diff/usr/lib64/libstdc++.so.6.0.1
    /var/lib/docker/overlay2/b36a8373a0ba558a126b00b87518669d99eaf3baf1695a1e2e52c40088fbebfc/diff/usr/share/gdb/auto-load/usr/bstdc++.so.6.0.19-gdb.py
    /var/lib/docker/overlay2/b36a8373a0ba558a126b00b87518669d99eaf3baf1695a1e2e52c40088fbebfc/diff/usr/share/gdb/auto-load/usr/bstdc++.so.6.0.19-gdb.pyc
    /var/lib/docker/overlay2/b36a8373a0ba558a126b00b87518669d99eaf3baf1695a1e2e52c40088fbebfc/diff/usr/share/gdb/auto-load/usr/bstdc++.so.6.0.19-gdb.pyo
    /var/lib/docker/overlay2/ffc8f6568e7a039213744a41f582426d9e9a73dc0b3928d244af338fcd1e72ca/diff/usr/share/elasticsearch/moduck-ml/platform/linux-x86_64/lib/libstdc++.so.6
    /var/lib/docker/overlay2/065e3e36db4f3fe3ed42e4bf576dd78eefdfacfeb5da46345652276e5684e157/diff/usr/lib/libstdc++.so.6
    /var/lib/docker/overlay2/065e3e36db4f3fe3ed42e4bf576dd78eefdfacfeb5da46345652276e5684e157/diff/usr/lib/libstdc++.so.6.0.28
    /var/lib/docker/overlay2/83ab3664426d4266880c6cf241eca1dd14364fd91892f11a4ca58c31c46c4050/diff/usr/lib/x86_64-linux-gnu/libo.6
    /var/lib/docker/overlay2/83ab3664426d4266880c6cf241eca1dd14364fd91892f11a4ca58c31c46c4050/diff/usr/lib/x86_64-linux-gnu/libo.6.0.25
    /var/lib/docker/overlay2/83ab3664426d4266880c6cf241eca1dd14364fd91892f11a4ca58c31c46c4050/diff/usr/share/gdb/auto-load/usr/64-linux-gnu/libstdc++.so.6.0.25-gdb.py
    /var/lib/docker/overlay2/60740f520c63b920757df182ffe36db71573b2f5753ddbc972a7845fc5b2cb3c/diff/usr/lib/x86_64-linux-gnu/libo.6
    /var/lib/docker/overlay2/60740f520c63b920757df182ffe36db71573b2f5753ddbc972a7845fc5b2cb3c/diff/usr/lib/x86_64-linux-gnu/libo.6.0.25
    /var/lib/docker/overlay2/60740f520c63b920757df182ffe36db71573b2f5753ddbc972a7845fc5b2cb3c/diff/usr/share/gdb/auto-load/usr/64-linux-gnu/libstdc++.so.6.0.25-gdb.py
    /usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so
    /usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
    /usr/lib/gcc/x86_64-redhat-linux/4.4.7/32/libstdc++.so
    /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libstdc++.so
    /usr/lib64/libstdc++.so.6
    /usr/lib64/libstdc++.so.6.0.19
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
    

    查看其中一个

    strings /var/lib/docker/overlay2/83ab3664426d4266880c6cf241eca1dd14364fd91892f11a4ca58c31c46c4050/diff/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 | 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_1.3.10
    CXXABI_1.3.11
    CXXABI_TM_1
    CXXABI_FLOAT128
    

    复制动态库:

    sudo cp /var/lib/docker/overlay2/83ab3664426d4266880c6cf241eca1dd14364fd91892f11a4ca58c31c46c4050/diff/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /usr/lib64/
    

    改变软连接的指向

    sudo rm libstdc++.so.6
    sudo ln -s libstdc++.so.6.0.25 libstdc++.so.6
    

    链接:https://www.jianshu.com/p/29747a88fa23

    原文:https://www.cnblogs.com/jixiaohua/p/11732225.html

  • 相关阅读:
    数据库学习摘记 —— 关系代数和关系演算
    数据库学习摘记 —— 数据库基本概念杂记
    POJ 3130 How I Mathematician Wonder What You Are! (半平面相交)
    POJ 3311 Hie with the Pie (状压dp)
    hdu 1533 Going Home (最小费用最大流)
    bzoj 2115 Xor (线性基)
    hdu 5120 Intersection (圆环面积相交->圆面积相交)
    BZOJ 2460 元素(线性基)
    POJ 3348 Cows (凸包模板+凸包面积)
    UVA 12012 Detection of Extraterrestrial(KMP求循环节)
  • 原文地址:https://www.cnblogs.com/randysun/p/16450307.html
Copyright © 2020-2023  润新知