做容器的时候发现,import cv2的时候会报libstdc++.so.6: version `GLIBCXX3.4.22’ not found
这是因为当前版本的libstdc++.so.6缺少GLIBCXX_3.4.22.
先查看当前版本的GLIBCXX:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
发现我的GLIBCXX正好到3.4.21没了,淦
解决方法:
- 首先更新pip。pip版本不够的话会导致很多包装起来报错,并且也是我为什么直接做第二步失败的原因。
pip install --upgrade pip
- 然后去下载libstec++
没有add-apt-repository这个commond的先执行前面两步安装,有的话直接执行后四步
#
sudo apt-get install software-properties-common
sudo apt-get update
#
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get upgrade libstdc++6
- 然后再执行一下
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
发现不仅3.4.22有了,后面还跟了一串
再尝试import cv2 也成功了
又是秃头的一天😊