如何从源码安装libgfortran.so.4?解决ImportError缺失问题
解决ImportError: libgfortran.so.4找不到的源码安装方案
libgfortran.so.4 是 GCC 7.x 版本附带的库文件,以下是从源码编译安装的完整步骤:
1. 下载对应版本的 GCC 源码
libgfortran 是 GCC 的组件之一,需下载 GCC 7.x 系列的源码包(推荐稳定版 7.5.0):
- 解压源码包:
tar -xf gcc-7.5.0.tar.xz cd gcc-7.5.0
2. 安装编译依赖
编译 GCC 需要依赖 mpfr、gmp、mpc 等库,使用系统包管理器安装:
- Debian/Ubuntu 系统:
sudo apt-get install libmpfr-dev libgmp-dev libmpc-dev build-essential - RHEL/CentOS 系统:
sudo yum install mpfr-devel gmp-devel mpc-devel gcc-c++
3. 配置编译参数(仅编译 Fortran 组件)
为节省编译时间,仅编译包含 libgfortran 的 Fortran 组件:
mkdir build && cd build ../configure --prefix=/usr/local/gcc7 --enable-languages=fortran --disable-multilib
参数说明:
--prefix:指定安装路径,可根据需求修改--enable-languages=fortran:仅编译 Fortran 相关组件(包含 libgfortran)--disable-multilib:关闭多架构支持,简化编译流程
4. 编译并安装
# 用所有CPU核心加速编译 make -j$(nproc) # 安装到指定路径 sudo make install
5. 配置系统库路径
让系统识别新安装的 libgfortran.so.4:
# 添加库路径到系统配置 echo "/usr/local/gcc7/lib64" | sudo tee /etc/ld.so.conf.d/gcc7.conf # 更新系统库缓存 sudo ldconfig
6. 验证安装
# 检查库文件是否存在 ls /usr/local/gcc7/lib64/libgfortran.so.4 # 验证系统是否能找到该库 ldconfig -p | grep libgfortran.so.4
额外提示
如果系统包管理器提供对应版本的 libgfortran 包,优先使用包管理器安装(比如 Debian/Ubuntu 的 libgfortran4,RHEL/CentOS 的 libgfortran-7.x.x),比源码编译更高效。只有当包管理器无对应版本时,再选择源码编译。
内容的提问来源于stack exchange,提问作者TUTU 22
相关产品推荐
相关产品推荐

