我正在运行Fedora 28,现在R在下面抛出错误。我现在无法更新(甚至无法加载)某些软件包。
libgfortran.so.4:无法打开共享库文件:无此文件或目录
我相信问题在于Fedora现在带有FORTRAN编译器的较新版本,这些R软件包都需要它。
在以下目录中,我有一个库libgfortran.so。我认为这是它正在寻找的文件,但很可能是最新的?
/usr/lib/gcc/x86_64-redhat-linux/8/libgfortran.so
'dnf info libgfortran'告诉我我正在运行8.1.1版本的libgfortran(所以是GCC 8)。而我相信libgfortran.so.4来自GCC 7。
我尝试过“dnf降级libgfortran”,但这只是GCC 8的早期版本。
老实说,我完全无法解决这个问题。我需要R,但目前它没有用。除了等待R软件包开发人员更新他们的Fortran编译器外,还有其他方法可以解决此问题吗?
最佳答案
正如Knud指出的,答案是在Fedora中安装旧版本的libgfortran和新版本。
获取libgfortran.so.4→libgfortran4-7.2.1-1.1.1.el7.x86_64.rpm
链接在这里:
mirror.centos.org/centos/7.5.1804/os/x86_64/Packages/…
安装:sudo dnf install ~/Downloads/libgfortran4-7.2.1-1.1.1.el7.x86_64.rpm
或如果dnf失败,请尝试sudo yum install ~/Downloads/libgfortran4-7.2.1-1.1.1.el7.x86_64.rpm