我正在尝试交叉编译几个 Ubuntu Precise 软件包,我当前的架构是 amd64,目标是 armhf。我安装了正确的交叉编译 GCC 工具链,我已正确使用该工具链先前编译了内核。
我对软件包构建依赖项感到疑惑,构建是否只是从我的常规开发软件包中获取其包含项?我需要做什么特别的事情吗?
我执行这个命令,这次添加了 arch
dpkg-buildpackage -rfakeroot -aarmhf
在构建即将结束时,我得到了这个
... File format not recognized
...
make: *** [binary] Error 29
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
答案1
交叉构建软件包的最简单方法是不交叉构建它们,而是使用整个模拟的 armhf chroot。使用pbuilder-dist
或mk-sbuild
创建 armhf chroot,然后在其中构建软件包。