我在装有High Sierra的新款Mac mini上使用gfortran进行编译时遇到了很多麻烦。
我用自制软件安装了gcc而没有错误消息。如果我尝试编译一个基本的hello world代码或一段代码已成功编译并在我的其他计算机上使用gfortran运行,我每次都会收到此错误(编译gfortran helloworld.f90 -o hw
时出现完整错误)。
FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!
我不明白这个错误,但是由于我可以在Sierra上编译和运行相同的代码片段,我必须假设这是gfortran / gcc和High Sierra之间无法解决的问题。
我真的很想知道是否有其他人遇到同样的问题,或者认为它是否是由其他人造成的,并且知道如何修复它。
编辑:
编译一个基本的hello world C代码,它工作正常。没有错误。
gcc -v
:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.38)
Target: x86_64-apple-darwin17.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
gfortran -v
:
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/7.2.0/libexec/gcc/x86_64-apple-darwin17.0.0/7.2.0/lto-wrapper
Target: x86_64-apple-darwin17.0.0
Configured with: ../configure --build=x86_64-apple-darwin17.0.0 --prefix=/usr/local/Cellar/gcc/7.2.0 --libdir=/usr/local/Cellar/gcc/7.2.0/lib/gcc/7 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-7 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --enable-checking=release --with-pkgversion='Homebrew GCC 7.2.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues --disable-nls
Thread model: posix
gcc version 7.2.0 (Homebrew GCC 7.2.0)
对于as -v
:
Apple Inc version cctools-895, GNU assembler version 1.38
但是这会挂断,必须用ctrl + c取消。
我正在运行OS X 10.13.1并使用自制软件安装gcc v7.2(使用自制网页上的标准说明安装)。 Xcode是v9.1并且是最新的。我在tcsh窗口工作,但是当我在bash中测试时会出现同样的错误。
答案 0 :(得分:0)
在提到的另一个网页上说了些什么,我设法让早期版本的gfortran工作。
我通过macports导入gcc v6.4
,其gfortran目前在High Sierra上运行。
它没有解决gcc v7.2
和High Sierra的问题,但它提供了一个临时解决方案。