cross compiling on x86_64

Jonathan Berry berryja at gmail.com
Mon Feb 26 02:57:11 UTC 2007


On 2/25/07, Sam Varshavchik <mrsam at courier-mta.com> wrote:
> Philippe A. writes:
> > I have installed FC6 x86_64 on my new system. I would like to know how I
> > can compile a 32 bit freetype package. The following didn't work:
> >
> > rpmbuild -bb freetype.spec -bb --target i386
> >
> > It fails with these errors:
> >
> > checking build system type... x86_64-redhat-linux-gnu
> > checking host system type... x86_64-redhat-linux-gnu
> > checking target system type... i386-redhat-linux-gnu
>
> I do not believe that rpm's stock configuration supports cross-building to a
> different architecture.  The --target parameter only sets the architecture
> label on the resulting rpms, and not much more.
>
> Cross-compilation is not trivial to set up.  You must install, beforehand,
> the i386 build of every library that your software compiles against, and you
> must know, beforehand, what they are.  Then, you'll need to arrange,
> somehow, for the software's configuration script and makefile pass the -m32
> option to gcc.

There is a program called "mock" (in extras) which builds SRPMs in a
chroot, gathering all the needed dependecies and everything
automatically.  I think I remember correctly that it can be setup to
build 32-bit packages on a 64-bit system.  I played around with it
once back a while ago.  I don't remember the details.

Jonathan




More information about the fedora-list mailing list