Macos 为什么可以';升级到OSX Yosemite后,我不能用gfortran编译吗?gfortran错误:libgfortran.spec:没有这样的文件或目录

Macos 为什么可以';升级到OSX Yosemite后,我不能用gfortran编译吗?gfortran错误:libgfortran.spec:没有这样的文件或目录,macos,gcc,fortran,gfortran,Macos,Gcc,Fortran,Gfortran,由于升级到约塞米蒂,我无法使用gfortran编译。最初我得到的是“分段错误11”,然后我: 从更新至gcc v.5.0 重新安装的Xcode命令行实用程序v.6.1.1 完成上述操作后,我能够编译非常简单的fortran程序,但我运行的更复杂的代码会给我以下错误: gfortran: error: libgfortran.spec: No such file or directory 但实际上,libgfortran.spec文件位于/usr/local/lib中 ls /usr/loc

由于升级到约塞米蒂,我无法使用gfortran编译。最初我得到的是“分段错误11”,然后我:

  • 从更新至gcc v.5.0
  • 重新安装的Xcode命令行实用程序v.6.1.1
  • 完成上述操作后,我能够编译非常简单的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
    
    我还尝试用自制软件重新安装gcc:

     brew install gcc
     Error: gcc-4.9.2 already installed
     To install this version, first 'brew unlink gcc'
    
    然而,我得到了v。5.0当我问“gcc——版本”时:

     gcc --version
     gcc (GCC) 5.0.0 20141005 (experimental)
    
    当我尝试用自制软件解除gcc链接或升级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
    

    请帮忙。非常感谢您的光临。请让我知道我忘了包括什么

    我最终通过自制软件解决了这个问题。我无法确定问题的确切来源,但这与我从安装gcc v4.9有关,然后在某个地方我用自制重新安装和/或更新了gcc。然后,在升级到Yosemite之后,我从安装了gcc v5。在该进程的某个地方,/usr/local/bin和usr/local/lib中的二进制文件没有正确链接

    主要线索是尝试运行“brew升级gcc”时出现权限被拒绝错误。我在这里找到了一个解决方案:

    为了解决这个问题,我使用了:

     brew doctor
    
    它返回一组不可写的目录,例如usr/local/lib,因此brew无法将gcc升级到v5.0并链接所有内容

    我通过并发布了:

     sudo chown -R $USER /usr/local
    
    并对“brew医生”返回的所有其他不可写目录执行此操作。然后,我可以使用brew升级gcc:

     brew upgrade gcc
    
    在ugrade过程中,homebrew返回一个错误,指出它无法完成升级,因为已存在位于以下位置的gfortran文件:

     /usr/local/bin/gfortran
    
    要修复此问题,homebrew建议我运行:

     brew -link gcc
    
    在这一点上,一切都起了作用。有趣的是(对我来说,因为我不完全理解这一切),当我要求brew清理东西时,我得到:

     brew cleanup
     Warning: Skipping (old) /usr/local/Cellar/gcc/4.9.2 due to it being linked
    
    这里有一些类似的信息:

    与该用户类似,当我查看我的地窖时,我发现有两个版本的gcc,但我不确定是否需要这两个版本

     ls /usr/local/Cellar/gcc
     4.9.2 4.9.2_1
    

    我有一个类似的问题和类似的解决方案。找不到此文件:

    gfortran: error: libgfortran.spec: No such file or directory
    
    所以我的问题是,我通过hpc.sourceforge.net和自制软件安装了gcc。我不得不卸载自制版本

    brew uninstall gcc
    
    然后我不得不从hpc.sourceforge.net重新安装gcc

    sudo tar -xvf gcc-4.9-bin.tar.gz -C /
    
    当我想使用Yosemite从hpc.sourceforge.net恢复到GCC4.9时,这对我来说很有用