R v3.4.0-2 无法在 Arch 上找到 libgfortran.so.3 [英] R v3.4.0-2 unable to find libgfortran.so.3 on Arch
问题描述
我刚刚休假一个月,所以我无法说出发生这种情况的确切时间,但是来自官方 Arch 存储库的 R
现在无法启动,引用
I was just on vacation for a month so am unable to say the exact point at which this happened, but R
from the official Arch repos is now unable to start, citing
/usr/lib64/R/bin/exec/R: error while loading shared libraries:
libgfortran.so.3: cannot open shared object file: No such file or directory
我认为可能是符号链接放置不当或损坏了,所以我查看/usr/lib 试图找到它:
I thought that perhaps a symlink was improperly placed or destroyed, so I looked in /usr/lib to try to find it:
ls -halt/usr/lib/libgfortran.so.*
lrwxrwxrwx 1 root root 20 May 16 03:01 /usr/lib/libgfortran.so.4 -> libgfortran.so.4.0.0
-rwxr-xr-x 1 root root 7.1M May 16 03:01 /usr/lib/libgfortran.so.4.0.0
libfortran.so.3
在 Arch 中被 libgfortran.so.4
取代了吗?如果是这样,是否有任何可能的解决方法让 R
与旧版本一起运行?
Has libfortran.so.3
been superseded by libgfortran.so.4
in Arch? If so, are there any possible workarounds for getting R
to run with an older version?
pacman -Qi r
Name : r
Version : 3.4.0-2
Description : Language and environment for statistical computing and graphics
Architecture : x86_64
URL : http://www.r-project.org/
Licenses : GPL
Groups : None
Provides : None
Depends On : blas lapack bzip2 libpng libjpeg libtiff ncurses pcre readline zlib perl gcc-libs libxt libxmu pango xz desktop-file-utils zip unzip
Optional Deps : tk: tcl/tk interface [installed]
texlive-bin: latex sty files [installed]
Required By : None
Optional For : graphviz
Conflicts With : None
Replaces : None
Installed Size : 58.04 MiB
Packager : Evangelos Foutras <evangelos@foutrelis.com>
Build Date : Tue 25 Apr 2017 05:04:31 AM EDT
Install Date : Tue 20 Jun 2017 12:27:06 PM EDT
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
<小时>
如果其他人遇到此问题,r-devel AUR 正确编译并运行,因此希望在下一个版本中该问题将得到解决.
If anyone else comes across this, the r-devel AUR correctly compiles and runs, so hopefully on the next version bump the issue will be resolved.
推荐答案
确实,gfortran 7 将 ligfortran 版本提升到版本 4.参见 http://gcc.1065356.n8.nabble.com/patch-fortran-PR77828-Linking-gfortran-7-compiled-program-with-libgfortran-of-5-x-allowed-but-crashes-td1311625.html 它不向后兼容并且一些 API 发生了变化.
Indeed, gfortran 7 bumps the ligfortran version to version 4. See http://gcc.1065356.n8.nabble.com/patch-fortran-PR77828-Linking-gfortran-7-compiled-program-with-libgfortran-of-5-x-allowed-but-crashes-td1311625.html It is not backwards compatible and some APIs have changed.
如果您安装旧版本的 gfortran,您将获得 libgfortran.so.3.在您的系统中有多个版本是完全没问题的.也许有一种方法可以为版本 4 重建 R,但它可能需要更多的工作.查看如何重建软件的其他答案 https://stackoverflow.com/a/50744705/721644
If you install an older version of gfortran you will get libgfortran.so.3. It is completely fine to have multiple versions in your system. Maybe there is a way how to rebuild R for version 4, but it will be possibly more work. See other answers how to rebuild the software https://stackoverflow.com/a/50744705/721644
这篇关于R v3.4.0-2 无法在 Arch 上找到 libgfortran.so.3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!