Ubuntu20.04下mamba创建R环境后RStudio报GLIBCXX_3.4.30缺失求助
解决Ubuntu 20.04激活Mamba环境后启动RStudio的GLIBCXX版本冲突问题
针对激活Mamba环境后启动RStudio时出现的GLIBCXX_3.4.30 not found错误,以下是几种可行的解决方法:
方法1:启动RStudio时强制加载环境内的libstdc++.so.6
激活目标环境后,通过LD_PRELOAD让RStudio优先使用环境内兼容的库文件:
- 定位环境内的libstdc++.so.6路径:
find $HOME/mambaforge/envs/myenv -name libstdc++.so.6 - 直接用以下命令启动RStudio:
LD_PRELOAD=$(find $HOME/mambaforge/envs/myenv -name libstdc++.so.6) rstudio - 为了方便使用,可以将命令写成别名:
echo 'alias rstudio_myenv="LD_PRELOAD=$(find $HOME/mambaforge/envs/myenv -name libstdc++.so.6) rstudio"' >> ~/.bashrc source ~/.bashrc
之后激活myenv环境后,直接输入rstudio_myenv即可启动RStudio。
方法2:在环境内安装RStudio Server替代桌面版
完全在Mamba环境内运行RStudio,避免系统库的冲突:
- 激活
myenv环境:mamba activate myenv - 安装RStudio Server:
mamba install -c conda-forge rstudio-server - 启动服务:
rstudio-server start - 在浏览器中访问
http://localhost:8787,使用系统用户名和密码登录即可使用环境内的R环境。
方法3:重新构建兼容系统GLIBC版本的环境
创建环境时强制指定与Ubuntu 20.04兼容的libstdcxx-ng版本(对应系统GLIBCXX_3.4.29):
mamba create -n myenv_new -c conda-forge -c bioconda r-seurat=4* "bioconductor-genomeinfodbdata=1.2.7" bioconductor-deseq2 libstdcxx-ng=9.3.0
注意:部分依赖高版本GLIBCXX的包可能会出现版本冲突,需要根据Mamba的求解提示调整包版本。
方法4:替换系统libstdc++.so.6软链接(谨慎操作)
此方法会修改系统库,可能影响其他依赖旧版本GLIBCXX的程序,操作前务必备份:
- 备份系统原库文件:
sudo cp /lib/x86_64-linux-gnu/libstdc++.so.6 /lib/x86_64-linux-gnu/libstdc++.so.6.bak - 复制Mamba环境内的高版本库文件到系统目录:
sudo cp $HOME/mambaforge/envs/myenv/lib/libstdc++.so.6.0.30 /lib/x86_64-linux-gnu/ - 更新软链接指向新库:
sudo ln -sf /lib/x86_64-linux-gnu/libstdc++.so.6.0.30 /lib/x86_64-linux-gnu/libstdc++.so.6
如果后续出现系统程序异常,可以恢复备份:
sudo ln -sf /lib/x86_64-linux-gnu/libstdc++.so.6.bak /lib/x86_64-linux-gnu/libstdc++.so.6
内容的提问来源于stack exchange,提问作者Zeke
相关产品推荐
相关产品推荐

