[编译记录]遇到“ld: unsupported tapi file type ‘!tapi-tbd‘ in YAML file...”

  比较长时间没使用MAC机器编译,系统更新也蛮快的,Xcode也都12了,然后简单make不能跑了。例如,想编译一份新的cmake,遇到“ld: unsupported tapi file type '!tapi-tbd' in YAML file...”。这个大概率是GCC找不到还是什么的,具体要怎么做,google或百度一下,都能找到答案,一般都是这样的步骤:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

我这边有点特殊,原因可能是因为有两个版本的xcode,所以这样做了还是不行。还好有人提供了一个思路,就是重新指向到/Library/Developer/CommandLineTools

sudo xcode-select -switch /Library/Developer/CommandLineTools


于是编译顺利进行下去,记录一下,免得忘记了。

CMake Error at /Users/fym/Library/Application Support/JetBrains/Toolbox/apps/CLion/ch-0/232.8453.115/CLion 2023.2 EAP.app/Contents/bin/cmake/mac/share/cmake-3.26/Modules/CMakeTestCXXCompiler.cmake:60 (message): The C++ compiler "/usr/local/bin/g++-13" is not able to compile a simple test program. It fails with the following output: Change Dir: /Users/fym/Desktop/C++/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-FQ7Av9 Run Build Command(s):/Users/fym/Library/Application Support/JetBrains/Toolbox/apps/CLion/ch-0/232.8453.115/CLion 2023.2 EAP.app/Contents/bin/ninja/mac/ninja -v cmTC_c8b71 && [1/2] /usr/local/bin/g++-13 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -fdiagnostics-color=always -o CMakeFiles/cmTC_c8b71.dir/testCXXCompiler.cxx.o -c /Users/fym/Desktop/C++/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-FQ7Av9/testCXXCompiler.cxx [2/2] : && /usr/local/bin/g++-13 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_c8b71.dir/testCXXCompiler.cxx.o -o cmTC_c8b71 && : FAILED: cmTC_c8b71 : && /usr/local/bin/g++-13 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_c8b71.dir/testCXXCompiler.cxx.o -o cmTC_c8b71 && : ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libSystem.tbd' for architecture x86_64 collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:2 (project) -- Configuring incomplete, errors occurred!
07-11
### 解决方案 在安装 Docker Desktop 时,如果遇到 `E: Unsupported file ./docker-desktop-amd64.deb given on commandline` 的错误,通常是因为命令执行方式不正确或者文件路径存在问题。以下是详细的解决方案: #### 1. **确认 `.deb` 文件的完整性** 确保下载的 `docker-desktop-amd64.deb` 文件未损坏。可以通过重新下载该文件来验证其完整性[^1]。 #### 2. **使用正确的命令安装 .deb 文件** `.deb` 文件需要通过 `dpkg` 或者 `apt` 工具进行安装。以下是一个推荐的安装方法: ```bash sudo dpkg -i ./docker-desktop-amd64.deb ``` 如果上述命令仍然报错,则可以尝试修复依赖关系后再安装: ```bash sudo apt-get install -f sudo dpkg -i ./docker-desktop-amd64.deb ``` #### 3. **清理旧版本 Docker** 如果有之前的 Docker 版本残留,可能会导致冲突。建议先卸载旧版 Docker 及相关组件: ```bash sudo apt-get remove docker docker-engine docker.io containerd runc ``` 此操作会移除系统中的旧版 Docker 组件[^2]。 #### 4. **配置官方 APT 源** 为了确保后续更新顺利,可手动添加 Docker 官方 APT 源并导入 GPG 密钥: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update ``` 以上步骤有助于避免因源配置不当引发的问题[^3]。 #### 5. **处理其他潜在问题** 如果仍无法解决问题,可能是由于系统的兼容性或其他环境因素引起的。此时可以考虑重置 Docker 配置或参考类似问题的解决办法。 --- ### 注意事项 - 如果同时存在多个 `.deb` 文件(如 `sdkmanager_1.4.0-7363_amd64.deb`),需分别单独安装,不可混用同一命令行参数[^4]。 - 对于 Compose 文件版本不支持的情况,应调整为受支持的版本(例如 v3.x 转换至 v2.x)。具体转换方法参见相关文档[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值