执行make analyze遇GLIBCXX_3.4.29缺失错误,求conda无sudo解决方案
解决GLIBCXX_3.4.29缺失问题(无sudo权限,conda方案)
错误信息
(genslm) smrutip@dgx1:~/smruti_project/pyro-cov$ make analyze python scripts/mutrans.py --vary-holdout Traceback (most recent call last): File "/raid/home/smrutip/smruti_project/pyro-cov/scripts/mutrans.py", line 16, in from pyrocov import mutrans, pangolin, sarscov2 File "/raid/home/smrutip/smruti_project/pyro-cov/pyrocov/mutrans.py", line 37, in import pyrocov.geo File "/raid/home/smrutip/smruti_project/pyro-cov/pyrocov/geo.py", line 12, in import pandas as pd File "/raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/__init__.py", line 48, in from pandas.core.api import ( File "/raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/core/api.py", line 47, in from pandas.core.groupby import ( File "/raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/core/groupby/__init__.py", line 1, in from pandas.core.groupby.generic import ( File "/raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/core/groupby/generic.py", line 77, in from pandas.core.frame import DataFrame File "/raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/core/frame.py", line 182, in from pandas.core.generic import NDFrame File "/raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/core/generic.py", line 179, in from pandas.core.window import ( File "/raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/core/window/__init__.py", line 1, in from pandas.core.window.ewm import ( File "/raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/core/window/ewm.py", line 11, in import pandas._libs.window.aggregations as window_aggregations ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /raid/home/smrutip/anaconda3/envs/genslm/lib/python3.9/site-packages/pandas/_libs/window/aggregations.cpython-39-x86_64-linux-gnu.so) make: *** [Makefile:63: analyze] Error 1
解决步骤
无sudo权限时,可通过conda在当前环境内调整依赖库,以下是两种可行方案:
方案一:安装conda-forge提供的高版本libstdc++
该方案会在conda环境内独立安装兼容的libstdc++,不影响系统全局:
- 激活目标环境:
conda activate genslm - 安装conda-forge的libstdcxx-ng包:
conda install -c conda-forge libstdcxx-ng - 验证安装有效性:
若输出包含strings $CONDA_PREFIX/lib/libstdc++.so.6 | grep GLIBCXX_3.4.29GLIBCXX_3.4.29,说明安装成功。 - 重新运行命令:
make analyze
方案二:降级pandas到适配系统libstdc++的版本
若方案一无效,可尝试降低pandas版本以适配系统现有libstdc++:
- 激活环境后执行降级命令:
(注:1.4.x系列对GLIBCXX要求较低,可根据需求调整具体版本号)conda install pandas=1.4.5 - 重新运行
make analyze
内容的提问来源于stack exchange,提问作者Smruti Panda
相关产品推荐
相关产品推荐

