linux glibc缺失一般都比较难解决,因为我们不能随便更新linux基础glibc库。
然而,有些glibc缺失问题是可以解决的,比如这里探讨的jupyter-lab GLIBCXX_3.4.29缺失问题。
所用示例和方案,参考和修改自网络资料。
1 问题探索
1.1 报错说明
conda python12环境安装jupyter-lab,在启动jupyter-lab是容易遇到以下报错问题。
ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /path/to/conda3/envs/your_env/bin/../lib/libzmq.so.5)
1.2 报错解析
环境报如下错误,是因为系统环境变量的变化,导致运行时找不到对应的libstdc++.so.6库
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found
2 问题解决
2.1 定位libstdc++库
在conda安装目录,尝试定位libstdc++.so.6,搜索命令示例如下。
find /path/to/conda3 -name "libstdc++.so.6"
一般情况下,会导致如下lib
/path/to/conda3/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6
/path/to/conda3/lib/libstdc++.so.6
/path/to/conda3/envs/langchain/lib/gcc/x86_64-conda-linux-gnu/12.4.0/libstdc++.so.6
这里选择第二个。
2.2 设置环境变量
通过如下示例命令,设置linux环境变量LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/data/apps/conda3/lib/:$LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
输出如下
/path/to/conda3/lib/:
再次运行jupyter-lab时,这个报错就消失了。
reference
version `GLIBCXX_3.4.29' not found