On 2/25/07, Sam Varshavchik <mrsam@xxxxxxxxxxxxxxx> 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