学校服务器在线RStudio安装vegan包报错cannot find -lgfortran求助
核心报错原因
编译vegan源码包时需要链接gfortran运行库,当前服务器环境未安装对应的libgfortran开发包,或gfortran库路径未加入系统链接搜索路径,导致链接阶段失败,对应错误标识为:/usr/bin/ld: cannot find -lgfortran
解决方案
根据你是否拥有服务器sudo权限,选择对应方案:
有sudo权限
根据服务器发行版执行对应命令安装系统依赖:
- Debian/Ubuntu系列
sudo apt update # R4.0.3对应系统版本可直接执行: sudo apt install -y gfortran libgfortran5
- RHEL/CentOS/Anolis系列
sudo yum install -y gcc-gfortran libgfortran
依赖安装完成后回到RStudio,重新执行install.packages("vegan")即可。
无sudo权限(学校服务器普通用户常见场景)
可选择两种绕过方案:
方案1:安装预编译二进制包
无需自行编译,直接安装已经编译好的vegan包:
- R内直接安装二进制包:
install.packages("vegan", type = "binary")
- 若上述命令失败,可使用conda安装:
先在SSH终端执行conda安装命令:
conda install -c conda-forge r-vegan
安装完成后打开R即可直接加载vegan包。
方案2:指定库路径手动编译
如果服务器上已经安装了gfortran,只是库路径未被系统识别,先在SSH终端搜索libgfortran路径:
find /usr /opt /home -name "libgfortran.so*" 2>/dev/null
假设搜索得到路径为/opt/gcc10/lib64/libgfortran.so,则在R内先设置链接路径再安装:
Sys.setenv(LDFLAGS = "-L/opt/gcc10/lib64") install.packages("vegan")
内容的提问来源于stack exchange,提问作者Joy Zheng
相关产品推荐
相关产品推荐

