Mac Mojave更新后:gfortran错误“ ld:找不到-lcrt1.o collect2的库:错误:ld返回了1个退出状态”

时间:2018-10-30 13:23:03

标签: xcode gcc homebrew gfortran macos-mojave

更新到MacOS Mojave后,使用gfortran编译时出现错误。

gfortran: warning: couldn’t understand kern.osversion ‘18.0.0
ld: library not found for -lcrt1.o
collect2: error: ld returned 1 exit status

在更新之前未发生此错误。我跟踪了类似的线程并遵循了他们提出的解决方案。但是,当我遵循...时出现了进一步的错误。

  • 更新XCode:现在更新到版本10.0。
  • 运行xcode-select --install:我收到以下错误:xcode-select: error: command line tools are already installed, use "Software Update" to install updates。在this thread之后,我做了softwareupdate --list并得到了No new software available.。我得出结论,XCode更新不是这里的问题。我还确保在第一次打开更新的XCode时安装了其他工具。

  • this thread之后,报告了类似的错误,我做了brew doctor。这里出问题了。我得到Warning: Your Xcode (1) is outdated; Please update to Xcode 7.1.,显然它无法识别我的XCode为10.0。该怎么办?

  • this thread之后,我做了brew upgrade gcc,并收到以下错误消息:Warning: You are using OS X 10.14.; ...

  • 有很多酿造错误,我检查了brew troubleshooting site,并遵循了他们的建议。我做了cd /usr/local && sudo chown -R $(whoami) bin etc include lib sbin share var opt Cellar Caskroom Frameworks,然后又一次brew update,并得到以下错误:Error: The /usr/local directory is not writable. ...。按照错误消息中的建议,我做了sudo chown -R $(whoami):admin /usr/local,但收到错误chown: /usr/local: Operation not permitted

  • brew reinstall gcc听起来像我会得到与上一点相同的错误。到目前为止,还没有尝试过,担心会使情况变得更糟。

底线:我淹没在错误中,看不到解决方案。任何想法是什么问题以及如何解决它!

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题(我认为crt1.0错误与诸如GET_COMMAND_ARGUMENT之类的Fortran命令的使用有关),并且在尝试了您在帖子中描述的所有步骤之后也没有运气,但是当我使用可在以下位置找到的安装程序为MacOS 10.14安装gfortran 8.2时,该问题即刻修复:https://github.com/fxcoudert/gfortran-for-macOS/releases(通过gcc网站https://gcc.gnu.org/wiki/GFortranBinaries#MacOS到那里)。

我希望这也能为您解决问题!