前言
-
由于打算交叉编译 python,但是依赖 libffi 库,也就是 libffi 库也需要交叉编译
-
环境: ubuntu 20.04
-
交叉编译工具链:这里使用 musl libc 的 gcc 交叉编译工具链,
aarch64-linux-musleabi-gcc
,gcc 版本gcc version 12.2.0
下载 libffi 库
-
这里直接通过 github 下载当前最新的 libffi 库
-
git clone https://github.com/libffi/libffi.git
-
下载后,进入 libffi,默认源码中没有
configure
脚本,可以直接运行 libffi 源码中的autogen.sh
脚本,自动生成configure
配置脚本 -
另外创建一个 libffi 库的 build 目录,可以放在 libffi 源码目录的外部,这样编译不会影响到 libffi 源码目录
-
这里在 libffi 目录外部创建一个新目录:
build_libffi
,然后进入build_libffi
,创建一个 编译 libffi 库的脚本build_aarch64.sh
-
注意设置的 交叉编译工具链路径,交叉编译工具链的各个工具
#!/bin/bash
cross_tool_path=/home/zhangsz/smart/gnu_tools/aarch64-linux-musleabi_for_x86_64-pc-linux-gnu/bin
../libffi/configure \
CC=${cross_tool_path}/aarch64-linux-musleabi-gcc \
CXX=${cross_tool_path}/aarch64-linux-musleabi-g++ \
AR=</