CentOS8无sudo权限运行Fortran程序缺libgfortran.so.3如何解决
无sudo权限下CentOS 8安装libgfortran3运行Fortran程序解决方案
方案1:手动部署libgfortran3到个人用户目录
无需管理员权限,所有操作均在个人家目录下完成:
- 下载对应架构的libgfortran3安装包,CentOS 8可兼容CentOS 7的rpm包,x86_64架构对应包为
libgfortran-4.8.5-44.el7.x86_64.rpm,可自行下载后上传到服务器,或直接在服务器联网环境下用wget获取。 - 执行命令创建个人本地库目录和临时解压目录:
mkdir -p ~/local/lib ~/local/rpmtmp - 解压下载的rpm包到临时目录:
rpm2cpio libgfortran-4.8.5-44.el7.x86_64.rpm | cpio -idmv -D ~/local/rpmtmp - 复制解压出的libgfortran3相关库文件到个人本地库目录:
cp ~/local/rpmtmp/usr/lib64/libgfortran.so.3* ~/local/lib/ - 编辑个人shell配置文件
~/.bashrc,在末尾添加动态库搜索路径配置:export LD_LIBRARY_PATH=~/local/lib:$LD_LIBRARY_PATH - 执行
source ~/.bashrc让配置生效,之后再运行./pgd.exe即可正常加载依赖库。
注意:如果服务器为非x86_64架构,需要下载对应架构的libgfortran3安装包,否则会出现架构不兼容问题。
方案2:重新编译模型(持有源码时优先选择)
不用适配旧版本依赖库,直接用系统现有版本重新编译即可:
- 若本地没有gfortran编译环境,可通过conda安装用户级的gfortran:
conda install -c conda-forge gcc-gfortran - 进入模型源码目录,清理旧编译产物后重新编译:
make clean && make - 新生成的可执行文件会自动链接系统自带的
libgfortran.so.5,无需额外配置即可直接运行。
内容的提问来源于stack exchange,提问作者Xu Shan
相关产品推荐
相关产品推荐

