[英]Why can't I compile with gfortran after upgrading to OSX Yosemite? gfortran error: libgfortran.spec: No such file or directory
自升級到優勝美地后,我無法使用gfortran進行編譯。 最初我得到“分段錯誤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
我也試過用自制軟件重新安裝gcc:
brew install gcc
Error: gcc-4.9.2 already installed
To install this version, first 'brew unlink gcc'
但是,當我問'gcc --version'時,我得到v.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
請幫忙。 非常感謝提前。 請讓我知道我忘記包含的內容。
我最終通過自制軟件解決了這個問題。 我無法確定問題的確切來源,但這與我從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醫生說:“警告:/ usr / local / include不可寫。”
要解決,我用過:
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
這里有一些類似的信息: 如何使用brew鏈接到新的gcc版本?
與那個用戶類似,當我看到我的酒窖時,我發現兩個版本的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和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時,這對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.