自升级到优胜美地后,我无法使用gfortran进行编译。最初我得到了#34;分段故障11"然后我:
完成上述操作后,我可以编译非常简单的fortran程序,但是我运行的代码越复杂,就会出现以下错误:
gfortran: error: libgfortran.spec: No such file or directory
但事实上,libgfortran.spec文件位于/ usr / local / lib
ls /usr/local/lib | grep gfortran
libgfortran.3.dylib
libgfortran.a
libgfortran.dylib
libgfortran.la
libgfortran.spec
所有gcc二进制文件都位于/ usr / local / bin
中 which gfortran
/usr/local/bin/gfortran
我的道路似乎没问题
echo $PATH
/usr/local/lib:/usr/local/bin:/usr/local:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/lib:/usr/texbin:/Users/MattCooper/bin:/Applications/MRT/bin
我还尝试用homebrew重新安装gcc:
brew install gcc
Error: gcc-4.9.2 already installed
To install this version, first 'brew unlink gcc'
然而,当我问到' gcc --version'时,我得到的是5.0;
gcc --version
gcc (GCC) 5.0.0 20141005 (experimental)
当我尝试取消链接或使用自制程序升级gcc时,我收到了一个权限被拒绝错误:
brew unlink gcc
Unlinking /usr/local/Cellar/gcc/4.9.2... Error: Permission denied - /usr/local/bin/c++-4.9
类似地
brew upgrade gcc
Permission denied - /usr/local/bin/c++-4.9
最后
which gcc
/usr/local/bin/gcc
请帮忙。非常感谢提前。请让我知道我忘记包含的内容。
答案 0 :(得分:4)
我最终通过自制软件解决了这个问题。我无法确定问题的确切来源,但这与我从http://hpc.sourceforge.net/安装gcc v4.9,然后我重新安装和/或使用自制软件更新gcc的方式有关。然后,升级到优胜美地后,我从http://hpc.sourceforge.net/安装了gcc v5。在该进程中的某个位置,/ usr / local / bin和usr / local / lib中的二进制文件未正确链接。
主要线索是尝试运行'brew upgrade gcc'时出现Permission Denied错误。我在这里找到了一个解决方案: Brew doctor says: "Warning: /usr/local/include isn't writable."
要修复,我用过:
brew doctor
返回了一堆不可写的目录,例如usr / local / lib,因此brew无法将gcc升级到v5.0并链接所有内容。
我经历并发布:
sudo chown -R $USER /usr/local
并为'brew doctor'返回的所有其他不可写目录执行此操作。然后,我能够使用brew来升级gcc:
brew upgrade gcc
在ugrade期间,自制软件返回了一个错误,表明它无法完成升级,因为已经存在一个现有的gfortran文件:
/usr/local/bin/gfortran
要修复,自制软件建议我运行:
brew -link gcc
此时一切正常。有趣的(对我而言,因为我并不完全理解所有这一切)当我要求brew清理时,我得到:
brew cleanup
Warning: Skipping (old) /usr/local/Cellar/gcc/4.9.2 due to it being linked
这里有一些类似的信息:How to link to a new gcc version with brew?
与该用户相似,当我查看我的酒窖时,我发现两个版本的gcc,但我不确定我是否需要两个版本
ls /usr/local/Cellar/gcc
4.9.2 4.9.2_1
答案 1 :(得分:0)
我遇到了类似问题的类似问题。它找不到这个文件:
gfortran: error: libgfortran.spec: No such file or directory
所以我的问题是我通过hpc.sourceforge.net和homebrew安装了gcc。我不得不卸载自制软件
brew uninstall gcc
然后我不得不从hpc.sourceforge.net重新安装gcc
sudo tar -xvf gcc-4.9-bin.tar.gz -C /
当我想使用Yosemite从hpc.sourceforge.net恢复为gcc 4.9时,这对我有用。