我最近从SGI,Sun工作站环境迁移到了Mac。 SGI和Sun带有Fortran编译器,因此我可能会编写100多个小f77代码,这些代码是我多年来用于模拟数据的后处理和分析的。我希望能用gfortran在我的iMac上运行这些代码。其中大多数是非常简单的代码,但我无法编译和执行它们。我尝试从基础知识开始,并从gfortran帮助页面编写了Hello World代码。我的代码fortran.f是:
program helloworld
print *, "hello world"
end program helloworld
当我根据我输入的例子尝试编译时:
gfortran fortran.f
但我不断收到错误消息:
FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!
这是我在其他代码上收到的相同错误消息。有人能告诉我我做错了什么吗?我想不出一个更简单的例子,但我似乎无法让它发挥作用。
答案 0 :(得分:2)
对于macOS,我认为构建表单源是您可以拥有的最佳方法。您可以通过直接从以下位置下载和编译GFortran作为GCC的一部分来轻松实现这一目标:https://gcc.gnu.org/wiki/GFortran
然而,你需要照顾的事情很少:
确保您已安装XCode,您可以在此处获取
XCode是免费的
确保您拥有命令行工具
您可以从developer.apple.com
获取它们或直接来自XCode。可能是XCode会告诉您在首次执行时安装命令行工具
过去,当未安装命令行工具时,运行" svn"等命令也会触发安装。
编译GCC
> ./configure --prefix=$HOME/opt/usr/local
> make all
> make install
或者,您可以使用GFortran的macOS包安装
使用基于Fortran的MPI代码完全运行示例:
答案 1 :(得分:1)
如果您的gfortran
很久以前已安装,并且自安装以来您已更新 macOS ,则可能需要重新安装才能正确对齐并与最新的 macOS相关联工具和库。
我的建议是:
gfortran
,gfortran
。以下每个步骤的提示如下:
请注意gfortran
是GCC的一部分 - " GNU编译器集合" 。
如果您通过自制安装了gfortran
,则可以将其删除:
brew rm gcc
您可以转到 AppStore 并点击右上角的Updates
来更新Xcode。
Xcode命令行工具包括make
和git
以及编译器的命令行版本。您可以使用以下命令安装/更新Xcode命令行工具:
xcode-select --install
您可以使用
在自制中安装gfortran
brew install gcc
完成后,您应该确保PATH
在开头附近包含/usr/local/bin
并且在您运行时没有错误:
brew doctor
这是一个出色的实用程序,用于检查自制配置是否正确。
答案 2 :(得分:0)
我所要做的只是改变路径。
最初,我的PATH就像是
的/ opt / local / bin中:/选择/ local / sbin中:在/ usr / local / bin中:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:/库/特克斯/ texbin中:/ opt / X11 / bin中
由于这个原因,未调用/ usr / bin目录中的默认汇编程序(as)。
要启用对正确汇编程序(as)的调用,我必须将/ usr / bin添加到(之前)/ opt / local / bin之前的PATH,即在Mac上可以通过编辑添加〜 /.bash_profile使得$ PATH看起来像
的/ usr / bin中:/选择/ local / bin中:/选择/ local / sbin中:在/ usr / local / bin中:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:/库/特克斯/ texbin中:/ opt / X11 / bin中
编辑完成后,在命令提示符处执行:
source / etc / bash_profile
这对我有用。