我有一个包(在本例中是Dymo驱动程序),需要编译到一个.deb文件中,以便包含在专用网络的存储库中。源本身完全独立于体系结构,因此它将在32位和64位上编译。我正在使用debhelper构建包,并且已经成功地为本机架构构建了包。
大多数机器运行精确的64位,但有些运行精确的32位。目前的生成机器是64位.我想要做的是“交叉编译”包,并从64位包生成32位包。
我试过的是:
fakeroot debian/rules binary失败是因为它不理解参数(我肯定是从dpkg或其他命令中复制了它)override_dh_auto_configure添加到debian/rules中,为CFLAGS等提供-m32,构建为32位,但包和定义依赖项为64位包。dpkg-cross并运行fakeroot debian/rules binary-cross (基于这些交叉编译指令的想法)-失败,因为二进制交叉不作为标准的dh命令存在一些我无法尝试的事情:
有没有办法让debhelper在64位机器上生成32位.deb文件?如果是,怎么做?
发布于 2013-02-10 16:23:54
debuild -ai386应该正确地设置一切,但这取决于是否安装了适当的多重构建依赖关系;使用最新版本的sbuild (恐怕比最近的版本要容易得多),而且它确实取决于您使用的所有已转换为多线程的库。详情请参见https://wiki.ubuntu.com/CrossBuilding。
https://askubuntu.com/questions/176569
复制相似问题