【问题标题】:Bazel + numpy + zip cross compile for armBazel + numpy + zip 交叉编译为 arm
【发布时间】: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


【解决方案1】:

这似乎已在rules_python 0.12 及更高版本的PR #773 中解决

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-21
    • 2011-07-24
    • 2014-12-05
    • 2012-08-04
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多