Docker Ubuntu18.04下Blender导入OpenCV遇GLIBCXX_3.4.30缺失问题
问题描述
在Docker中运行Ubuntu 18.04(镜像:dorowu/ubuntu-desktop-lxde-vnc),尝试在Blender 3.2.2自带的Python 3.10.5中导入OpenCV 4.6.0时,出现以下错误:
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /root/blender/3.2/python/lib/python3.10/site-packages/../../libopencv_gapi.so.406)
但在Blender外部的Python控制台中导入cv2可正常运行。已尝试添加PPA源升级libstdc++6、设置LD_LIBRARY_PATH等操作,但问题仍未解决。
解决方案
1. 替换Blender自带的libstdc++.so.6
Blender自带了一套libstdc++库,优先级高于系统库,导致无法加载升级后的高版本依赖:
- 先定位系统中包含
GLIBCXX_3.4.30的libstdc++文件:find / -name "libstdc++.so.6" -type f | xargs strings | grep -l GLIBCXX_3.4.30 - 备份Blender自带的旧版本库:
mv /root/blender/3.2/lib/libstdc++.so.6 /root/blender/3.2/lib/libstdc++.so.6.bak - 将系统中的高版本库软链接到Blender的lib目录:
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /root/blender/3.2/lib/ - 验证替换结果:
strings /root/blender/3.2/lib/libstdc++.so.6 | grep GLIBCXX_3.4.30
2. 为Blender配置独立的conda环境
利用conda环境隔离依赖,确保OpenCV与Blender Python使用匹配的libstdc++版本:
- 创建指定Python版本的conda环境:
conda create -n blender-cv python=3.10.5 -y - 激活环境并安装适配的OpenCV:
conda activate blender-cv conda install -c conda-forge opencv=4.6.0 -y - 配置Blender使用该环境的Python:
打开Blender → 编辑 → 偏好设置 → 系统 → Python解释器,选择/root/miniconda3/envs/blender-cv/bin/python,保存后重启Blender。
3. 升级Docker基础镜像到Ubuntu 20.04+
Ubuntu 18.04默认gcc版本无法提供GLIBCXX_3.4.30,升级到更高版本系统可从根源解决依赖问题:
- 更换为dorowu的Ubuntu 20.04版本镜像:
dorowu/ubuntu-desktop-lxde-vnc:focal - 或基于官方Ubuntu 20.04镜像,自行安装LXDE、VNC、Blender和OpenCV,系统自带的libstdc++版本可满足需求。
4. 手动编译适配的libstdc++库
若无法升级系统,可手动编译支持GLIBCXX_3.4.30的gcc 11及以上版本:
- 下载并编译gcc 11源码:
sudo apt-get install build-essential wget wget https://ftp.gnu.org/gnu/gcc/gcc-11.3.0/gcc-11.3.0.tar.gz tar xzf gcc-11.3.0.tar.gz cd gcc-11.3.0 ./contrib/download_prerequisites mkdir build && cd build ../configure --prefix=/usr/local/gcc-11 --disable-multilib make -j$(nproc) sudo make install - 让Blender优先加载编译后的库:
或直接替换Blender目录下的libstdc++.so.6文件。export LD_PRELOAD=/usr/local/gcc-11/lib64/libstdc++.so.6 blender
内容的提问来源于stack exchange,提问作者Erik Hulmák
相关产品推荐
相关产品推荐

