目录
编译报错,找不到MIPS64工具链
问题解析
解决办法
编译报错,找不到MIPS64工具链
相关错误提示:
ERROR: /tmp/bazel_0I7FbjQ5/out/external/local_config_cc/BULD:47:19: in cc_toolchain_suite rule @local_config_cc//:toolchain: cc_toolchain_suite ‘@local_config_cc//:toolchain’ does not contain a toolchain for cpu ‘mips64’
相关错误提示:
ERROR: /tmp/bazel_0I7FbjQ5/out/external/local_config_cc/BULD:47:19: in cc_toolchain_suite rule @local_config_cc//:toolchain: cc_toolchain_suite ‘@local_config_cc//:toolchain’ does not contain a toolchain for cpu ‘mips64’
问题解析
Bazel 5.0.0: Local jdk11: no matching toolchains found for types @bazel_tools//tools/jdk:runtime_toolchain_type - Bazelbuild/BazelBazel 5.0.0: Local jdk11: no matching toolchains found for types @bazel_tools//tools/jdk:runtime_toolchain_typehttps://issuehint.com/issue/bazelbuild/bazel/15035
首先,定位以下报错文件
src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java
selectedCcToolchain信息空,获取到的attributes列表为:piii和armv7-a,无法匹配mips64的对应工具,源代码位置下tools/cpp/lib_cc_configure.bzl文件负责对cpu信息进行获取
执行命令uname -m获取本机架构信息
本机为mips64,则需要在201行中的mips64返回结果中添加“mips64el”进行匹配
解决办法
找到源码目录下tools/cpp/lib_cc_configure.bzl修改201和202行内容为
if arch in ["mips64", "mips64el"]:
return "mips64"
工具获取到正确的cpu value,编译不再报错
报错问题解决参考1lI



