我最近用 安装了 gfortran apt-get install gfortran
,但结果是最新版本 4.9,与最初需要 gfortran 的软件不兼容。所以我删除了它并尝试了apt-get install gfortran-4.8
。问题是现在它可以用gfortran-4.8
(显然) 运行,而不是gfortran
其他软件所期望的。
gfortran
我可以用命令让它运行吗?
编辑:
我阅读了有关别名的信息,并尝试设置~/.bash_aliases
包含
alias gfortran='gfortran-4.8'
但没有效果。
答案1
我假设您使用的是 Trusty 之后的版本。这在 Trusty 中不是问题,因为 gfortran 仍为 4.8。
假设降级不是真正的解决方案,我只会向您展示 Trusty 的布局方式。您可能需要检查它是否与您正在运行的任何内容相似,以确保我的结论是正确的:
$ dpkg -S $(which gfortran) $(which gfortran-4.8)
gfortran: /usr/bin/gfortran
gfortran-4.8: /usr/bin/gfortran-4.8
$ file /usr/bin/gfortran
/usr/bin/gfortran: symbolic link to `gfortran-4.8'
因此基本上,这里的gfortran
命令只是重定向到/usr/bin/gfortran-4.8
。我期望在您的版本中它会重定向到/usr/bin/gfortran-4.9
。
我们可以覆盖打包路径二进制文件而不触碰它们。我建议(这可能会破坏使用的东西,gfortran
所以要小心)我们在/usr/local/bin
(注意local
)中创建一个新的符号链接。当您调用时gfortran
,系统将/usr/local/bin/gfortran
首先找到版本。请注意,任何/usr/bin/gfortran
显式调用仍将获得 4.9 版本。
无论如何,创建符号链接很容易:
sudo ln -s /usr/bin/gfortran-4.8 /usr/local/bin/gfortran
这有一个令人愉快的副作用,那就是你可以保留你的包,满足你可能需要满足的任何依赖关系。而且对包的升级gfortran
不会破坏我们的更改。
答案2
您可以做的是创建一个符号链接(或“快捷方式”)gfortran-4.8
并命名该快捷方式gfortran
。
首先,找出 的gfortran-4.8
实际位置。您可以通过运行命令 来执行此操作which gfortran-4.8
。假设您得到如下输出:
/usr/bin/gfortran-4.8
您要做的是执行以下命令来创建快捷方式:
sudo ln -s /usr/bin/gfortran-4.8 /usr/bin/gfortran
现在您(以及正在寻找它的其他程序)应该能够使用 运行该程序gfortran
。