如何在64位盒子上构建32位(i386).deb?

时间:2011-10-29 16:02:25

标签: c ubuntu 32bit-64bit deb

我有使用-m32开关(在DMD和/或GCC中)成功编译的应用程序,以生成:

appname: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 2.6.15, not stripped

我创建的源包在32位和64位Ubuntu上工作正常,以构建适当的二进制.debs。

我想在用于生成64位.deb的同一台64位机器上生成i386 .deb。

这可能,我应该在哪里寻找指示?

3 个答案:

答案 0 :(得分:18)

答案取决于构建的复杂性。当普通的64位用户态工具足以构建时,只需通过-a

指定架构
debuild -ai386

然而,通常情况下这不起作用,在这些情况下你需要pbuilder。 pbuilder在chroot-ed环境中构建一个干净的Debian / Ubuntu系统。 man pbuilder是一个很好的介绍。要开始使用,您需要:

sudo pbuilder --create --architecture i386
sudo pbuilder --build mypackage.dsc

答案 1 :(得分:3)

首先使用-ai386选项调用debuild,这将是 更改为其构建包的体系结构。

当然,您必须确保该软件包包含该应用程序的i386版本。

答案 2 :(得分:-2)

你没有做任何与构建64位.deb不同的事情。除非您包含32位版本的应用程序。

控制文件指定架构,因此请务必选择正确的架构。