在 Macbook 上编译 Fortran 程序,出现如下错误:

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

这是由于安装了 Anaconda,默认的 ld 变成 conda 中的 ld,于是就出现了上面的报错。使用 which 命令查看 ld 程序:

which -a ld
# 可能的输出如下
/Users/tlanyan/opt/anaconda3/bin/ld
/usr/bin/ld

解决办法有两种:

1. 设置 PATH 环境变量提升 /usr/bin 的优先级:export PATH=/usr/bin:$PATH

2. 暂时禁用 conda 环境:conda deactivate

两种方法都可以在编译时使用系统自带的ld,问题就解决了。

参考

  1. Can’t compile fortran on MacOS Monterey: ld: unsupported tapi file type ‘!tapi-tbd’ in YAML file