【发布时间】:2022-10-18 06:55:38
【问题描述】:
我正在使用 bazel 从 py_binary 规则制作一个 python zip (--build_python_zip)。在相同的架构上工作得很好,但是当我尝试运行 x86 构建的应用程序时,它在手臂上崩溃了:
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
我认为这是因为 numpy 中包含一些 c 库,但它们是为 x86 构建的。环顾四周,我似乎需要在 bazel 中定义一个工具链并使用它进行构建。这适用于 rules_python pip_install 的东西吗?如何定义/使用工具链?
我有一个最小的例子:https://github.com/CruxML/MinimalCrossCompile。运行 make_zip.sh 来构建和运行。已验证这是否已描述问题。
【问题讨论】:
-
你能发布一个最小的复制(工作区文件、构建文件、最小的源文件、bazel 命令等)吗?有一些细节,比如你如何依赖 numpy,你从哪里得到它,你是如何构建它的,等等,这对于了解尝试提供帮助很有用。
-
是的好主意。完毕。
标签: numpy cross-platform cross-compiling bazel