On 22 August 2014 01:10, John Snow <js...@redhat.com> wrote: > I was running a series of tests on 32 and 64 bit hosts to test for > endianness and variable width issues when I noticed that I couldn't properly > perform a build of "make check" against a 32bit target from a 64bit host: > > ../../configure --cpu=i386 && make -j4 && make check
The 32-bit-on-64-bit x86 stuff is a weird special case and I'm not terribly surprised it's broken. For pretty much every other non-native build case, --cpu is only there to override configure's guesses if it guesses wrong: you just tell configure the correct compiler to use, and then it will automatically figure out it's i386 because of the compiler #defines. If you use --cross-prefix= this will tell configure to use all of the correct compiler and the correct pkgconfig, assuming your distro has set up the compiler and the pkgconfig with the right prefixes. But i386-on-x86_64 seems to be odd in that rather than just having a correct compiler for it there's the same compiler with a bunch of flags, and a pkg-config in a non-standard place. thanks -- PMM