在我的Mac上,有installed Bazel via brew
,如何安装linux crosstools来构建将在linux容器上运行的库?
背景:
我正在尝试在我的Mac上本地诊断bazel / rules_docker测试失败,但我发现干净的登记失败(https://github.com/bazelbuild/rules_docker/issues/217)。我的预感是我需要使用linux crosstool显式构建一些组件,但是bazel说
Valid toolchains are: [
--cpu='darwin_x86_64' --compiler='compiler' --glibc='macosx',
--cpu='ios_x86_64' --compiler='compiler' --glibc='ios',
--cpu='watchos_i386' --compiler='compiler' --glibc='watchos',
--cpu='tvos_x86_64' --compiler='compiler' --glibc='tvos',
--cpu='ios_i386' --compiler='compiler' --glibc='ios',
--cpu='ios_armv7' --compiler='compiler' --glibc='ios',
--cpu='watchos_armv7k' --compiler='compiler' --glibc='watchos',
--cpu='tvos_arm64' --compiler='compiler' --glibc='tvos',
--cpu='ios_arm64' --compiler='compiler' --glibc='ios',
--cpu='armeabi-v7a' --compiler='compiler' --glibc='armeabi-v7a',
].
有没有办法安装和/或引用其他工具链?
答案 0 :(得分:0)
Bazel使用Skylark存储库here自动检测本地配置。它仅适用于检测用于定位本地环境的工具链。如果你需要从mac定位linux,你需要提供自定义工具链(CROSSTOOL和相关的东西)。一种选择是在linux机器上运行bazel,并从output_base检索生成的工具链,将带有CROSSTOOL的文件夹复制到mac机器上,并使用--crosstool_top
来使用该CROSSTOOL而不是自动生成的CROSSTOOL。它有意义吗?