Gcc 如何修复:/bin/ld:找不到-lgfortran错误:ld返回了1个退出状态

Gcc 如何修复:/bin/ld:找不到-lgfortran错误:ld返回了1个退出状态,gcc,makefile,gfortran,Gcc,Makefile,Gfortran,我正试图在Linux服务器上用gfortran编译一个Fortran代码(包),我没有根访问权限。 它有一个Makefile,当我运行make时,我得到了这个错误 /bin/ld: cannot find -lgfortran collect2: error: ld returned 1 exit status 但gcc已经安装在集群上 gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/

我正试图在Linux服务器上用gfortran编译一个Fortran代码(包),我没有根访问权限。 它有一个Makefile,当我运行
make
时,我得到了这个错误

/bin/ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status
但gcc已经安装在集群上

gcc -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
或libgfortran:

locate libgfortran

/usr/lib/libgfortran.so.3.0.0
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libgfortran.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libgfortran.spec
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libgfortranbegin.a
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libgfortran.a
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libgfortran.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libgfortranbegin.a
/usr/lib64/libgfortran.so.1
/usr/lib64/libgfortran.so.1.0.0
/usr/lib64/libgfortran.so.3
/usr/lib64/libgfortran.so.3.0.0
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2002.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2003.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2004.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2005.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2006.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2007.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2008.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2009.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2010.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2011.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog-2012.libgfortran.bz2
/usr/share/doc/gcc-gfortran-4.8.5/ChangeLog.libgfortran.bz2
这是已安装软件包的输出

yum list gcc-gfortran

Failed to set locale, defaulting to C
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast

Installed Packages
gcc-gfortran.x86_64                                                 4.8.5-16.el7                                                 @local-rhels7.4-x86_64--install-rhels7.4-x86_64
问题是为什么它在安装gcc时找不到libgfortran? 我还试图更新
$PATH
,但它没有改变任何东西。
我只是一个没有root访问权限的服务器用户。

您是否安装了
gcc gfortran
软件包?这不仅应该包括编译器,还应该包括开发库。看起来你可能有,但是在你的列表中的文件之间又有一个奇怪的版本号不一致。是的,你是对的。实际上,我也尝试在本地目录中安装GCC4.9.2,但我无法安装,因此我删除了它。因此,它的GCC4.8.5包含许多库,这些库由root用户安装在服务器上。我试图编译一个需要gfortran编译的科学代码,但这并不能回答问题。您似乎正在运行RedHat EL7或其克隆。如果执行命令
yum list gcc gfortran
,它是否会显示已安装的或可用的软件包?啊,很抱歉,我现在得到了它,是的,它是输出:我还对它进行了编辑,