0

我想用 riscv-tools 的 riscv64-unknown-linux-gnu-gcc 交叉编译定义python 。我尝试交叉编译由riscv-poky修补的 Python-2.7.9 ,并得到以下错误:

configure: error: "libffi has not been ported to riscv64-unknown-linux-gnu."
Failed to configure _ctypes module

任何人都可以帮助解决这个问题吗?

4

1 回答 1

0

在riscv-poky之外交叉编译 Python可能有点棘手。默认情况下,Python 是使用它自己的 libffi 副本构建的,该副本与源代码分发捆绑在一起(在 Modules/_ctypes/libffi 中)。当在 poky 中构建时,这个 libffi 被系统的 libffi 覆盖(使用 --with-system-ffi 标志),其中包括我们来自这个配方的 libffi RISC-V 端口:

https://github.com/riscv/riscv-poky/blob/master/meta-riscv/recipes-gnome/libffi/libffi_3.1.bb

您的构建可能正在尝试使用与 Python 捆绑在一起的 libffi。最简单的解决方案可能是在 poky 中构建 Python。但是,如果这不是一个选项,我会尝试手动应用 libffi 补丁,看看是否能解决问题。

于 2015-09-22T00:30:10.193 回答