Mac下执行./configure报错:C编译器无法生成可执行文件
解决configure报错“C compiler cannot create executables”问题
尝试通过
./configure配置软件包,执行make install安装时,configure返回错误:C compiler cannot create executables,查看config.log无法定位问题,是否需要在Anaconda环境中安装相关组件?
核心错误定位
从提供的config.log中,关键错误信息为:
ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd' for architecture x86_64 clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
这是因为Anaconda环境中的clang版本(14.0.6)与当前MacOS Ventura 13.6(Kernel 22.6.0)系统SDK中的TBD(Text-Based Stub)文件格式不兼容,链接器无法识别高版本的TAPI格式文件。
解决方案
方案1:使用系统自带编译器(推荐)
- 退出Anaconda环境:
conda deactivate - 确保已安装Xcode命令行工具(未安装则执行):
xcode-select --install - 重新运行
./configure,此时会自动使用系统路径/usr/bin/clang下的兼容版本编译器。
方案2:在Anaconda环境内修复兼容性
- 更新Anaconda中的clang和LLVM工具链:
conda install -c conda-forge clang llvm - 设置系统SDK路径环境变量,再执行configure:
export SDKROOT=$(xcrun --show-sdk-path) ./configure
内容的提问来源于stack exchange,提问作者Elena Tosi
相关产品推荐
相关产品推荐

