我正在寻找有关如何获取适用于最新 LTS 版 Ubuntu 的 gnu g77 Fortran 编译器的一些说明。我在网上搜索过,发现基本上各种网站都建议使用不再存在的下载链接(例如此处https://stackoverflow.com/questions/28068148/how-to-install-the-gnu-fortran-77-compiler-or-g77-on-ubuntu-14-04)。
我有一个程序需要 g77 才能运行。有人知道我可以在哪里安装它吗?
答案1
我写了一篇关于在 Ubuntu >=14.04 上安装 g77。但主要细节如下:
添加 Ubuntu 8.04 仓库。通过编辑 sources.list 来执行此操作:
sudo -H gedit /etc/apt/sources.list
然后在该文件的底部添加:
deb http://old-releases.ubuntu.com/ubuntu/ hardy universe
deb-src http://old-releases.ubuntu.com/ubuntu/ hardy universe
deb http://old-releases.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://old-releases.ubuntu.com/ubuntu/ hardy-updates universe
然后运行更新并安装 g77:
sudo apt-get update
sudo apt-get install g77
你可能会很幸运,g77 可能马上就为你工作了。你可能会收到一条错误消息,如下所示:
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
这意味着 ld 找不到库 (libgcc_s)。自己找到库,检查 ld 正在查找的位置,然后在那里放置链接:
sudo find /usr/ -name libgcc_s.so
ld -lgcc_s --verbose
sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so /usr/lib/x86_64-linux-gnu/
(您可能必须根据 find 和 ld 命令的返回结果修改链接命令中的目标和链接)
编辑:
David Foerster 在评论中建议混合使用 Ubuntu 版本不是一个好主意。所以我应该提到,在安装 g77 后,我通常会再次编辑 /etc/apt/sources.list 文件并注释掉 8.04 存储库:即
sudo -H gedit /etc/apt/sources.list
进而:
## deb http://old-releases.ubuntu.com/ubuntu/ hardy universe
## deb-src http://old-releases.ubuntu.com/ubuntu/ hardy universe
## deb http://old-releases.ubuntu.com/ubuntu/ hardy-updates universe
## deb-src http://old-releases.ubuntu.com/ubuntu/ hardy-updates universe
在过去 5 年左右的时间里,我一直在这样安装和运行 g77,没有任何困难。