[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: how to cross architecture build a package

On Sun, Nov 25, 2007 at 08:07:46PM +1100, Alex Samad wrote:
> On Sat, Nov 24, 2007 at 10:59:32PM +0000, brian m. carlson wrote:
> > On Sun, Nov 25, 2007 at 07:15:29AM +1100, Alex Samad wrote:
> >> On Sat, Nov 24, 2007 at 01:17:52AM +0100, Pierre Habouzit wrote:
> >>>   and when you build a package in there, wrap the
> >>> debuild/dpkg-buildpackage/... call inside linux32.
> >> why do i need linux32, I have build my package and used schroot. all seems 
> >> to be well. note I am not doing any compiling !

> > If you use schroot, it takes care of setting up the Linux personality for 
> > you, just as linux32 does, so you don't need both.  If your uname(2) call 
> > returns i[3456]86, then your system will be treated as i386, and i386 
> > packages will be built.  If it returns x86-64, then it will be treated as 
> > amd64.  Linux personality support allows modifying the uname(2) call, so 
> > packages will be compiled and built properly.

> I find it rather strange that you need a working environment to be able to 
> build packages for that environment.

> Thing is I am only making meta packages but I am building it on a amd64 for a 
> i386 environment.

If your package doesn't /do/ anything architecture-dependent, then you can
build using dpkg-buildpackage -a<arch> to set the architecture string for
the build environment.  But if your package build includes building
binaries, probably the best outcome you can expect would be a build failure
(the worst being a misbuild with screwed up dependencies, or with binaries
for the wrong architecture in your package).

Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
vorlon@debian.org                                   http://www.debian.org/

Reply to: