无法在 MacOS 上编译 Fortran:ld:YAML 文件中不支持的 tapi 文件类型 '!tapi-tbd'



每当我试图编译fortran代码时,我都会面临一个错误:

% gfortran Testing_Fortran.f90 -o Testing_Fortran
ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/lib/libSystem.tbd' for architecture x86_64 collect2: error: ld returned 1 exit status

通过互联网查看类似的问题,我发现最常见的解决方案是降级XCode命令行工具,并重新安装gcc,但这些都不起作用。

我尝试了CLTools 14.1和13.4,我正在通过自制程序安装gcc。gfortran版本为12.2.0。我在MacOS蒙特利12.6上。

有什么想法吗?提前谢谢。

我也遇到了类似的问题。我刚刚停用了Anaconda并运行了fortran代码。

conda deactivate
gfortran Testing_Fortran.f90 -o Testing_Fortranc

再次,你可以回到Anaconda环境作为,

conda activate

很可能您的ld不是最新的系统链接器:无论是在这个帮助单上还是在与同事的合作中,问题都是ld指向了来自Anaconda的链接器。如果您的$PATH设置为Anaconda的ld比系统链接器具有更高的优先级,这将解释它:

$ which -a ld
/blah/anaconda3/bin/ld
/usr/bin/ld

如果是这种情况,请重新排序PATH,将anaconda的目录放在/usr/bin之后。然后,which ld应该指向系统ld,您应该可以继续。

最新更新