我正在尝试在x86_64
主机上为armhf
目标重建Alpine软件包。据我所知,正确的方法是克隆https://github.com/alpinelinux/aports并运行scripts/bootstrap.sh armhf
创建chroot环境,然后可将该环境用于交叉编译软件包。到目前为止,我已经:
${HOME}/packages/main
添加到/etc/apk/repositories
abuild-keygen -a
创建了密钥cp ${HOME}/.abuild/*.pub /etc/apk/keys
信任但是引导脚本仍然失败:
c4a5a8fbf023:~/aports$ scripts/bootstrap.sh armhf
>>> bootstrap-armhf: Building cross-compiler
>>> binutils-armhf: Package is up to date
>>> gcc-armhf: abuild 3.2.0-r0
>>> gcc-armhf: Checking sanity of /home/builder/aports/main/gcc/APKBUILD...
>>> WARNING: gcc-armhf: g++ should not be in makedepends
>>> gcc-armhf: Analyzing dependencies...
ERROR: unsatisfiable constraints:
.makedepends-gcc-armhf-0:
masked in: cache
satisfies: world[.makedepends-gcc-armhf]
musl (missing):
required by:
musl-dev (missing):
required by:
>>> ERROR: gcc-armhf: all failed
>>> gcc-armhf: Uninstalling dependencies...
[musl
和musl-dev
是为armhf构建的程序包,位于${HOME}/packages/main/armhf
中。
有人能指出我正确的魔法来使它起作用吗?我错过了某个地方的相关文档吗?
嗯,我有同样的错误,但是我通过执行以下步骤解决了它:1. abuild-keygen -a
,然后我将密钥保存为名称为[[mykey,并将密钥(私有和公共)都保存在当前目录中。2.然后将mykey.pub移至/ etc / apk / keys3.然后按CBUILDROOT=/path/to/buildroot ./scripts/bootstrap.sh armhf
建立交叉编译工具链让我知道您是否再次失败。