• Ubuntu安装dlib后import出现libstdc++.so.6: version `GLIBCXX_3.4.21' not found


    1 问题描述

    先安装依赖包cmake,libboost,再安装dlib

    sudo apt-get install cmake
    
    sudo apt-get install libboost-python-dev
    
    sudo pip install dlib

    安装后import dlib的时候报错

    ImportError: /home/liaohuqiang/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0)

    2 原因

    升级gcc时,动态库没有替换旧版本gcc的动态库

    3 解决方法

    (1)找到gcc升级时的生成的相应动态库

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

    # 某一行:
    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
    
    

    (2)复制到需要的地方,根据报错信息,把该动态库要放到/home/liaohuqiang/anaconda2/lib下

    cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/liaohuqiang/anaconda2/lib

    (3)建立新的软链接

    rm -rf libstdc++.so.6
    
    ln -s libstdc++.so.6.0.21 libstdc++.so.6

    (4)查看动态库,发现已更新到需要的版本

    strings /home/liaohuqiang/anaconda2/lib/libstdc++.so.6.0.21|grep GLIBCXX

    4 推广问题

    其它类似出现的问题也可以用这样的方法解决,比如安装opencv后出现的import错误

    ImportError: /home/liaohuqiang/anaconda2/bin/../lib/libgomp.so.1: version `GOMP_4.0' not found (required by /usr/lib/x86_64-linux-gnu/libsoxr.so.0)
  • 相关阅读:
    Computer Vision 基础学习
    PHP遍历文件夹下的文件时遇到中文目录乱码问题
    Note -「模板」矩阵
    Note -「模板」高斯消元
    Solution -「CF113D」Museum
    【更新中】后缀数组学习笔记
    【题解】ABC225F
    【更新中】2021ZR模拟赛要题记录
    【游记】CSP-S-2021
    【题解】#2019 [zr联赛集训day3]史上第四简洁的题面
  • 原文地址:https://www.cnblogs.com/liaohuiqiang/p/8297389.html
Copyright © 2020-2023  润新知