[TriLUG] Cross compiling pain

Brian Daniels bitmage at bellsouth.net
Fri Mar 11 11:32:40 EST 2005


On Fri, Mar 11, 2005 at 10:57:10AM -0500, Tanner Lovelace wrote:
> If I remember correctly, you may need to specify the target architecture
> as a separate argument on the command line (like this:...)
> 
> [...] ./configure --prefix=/usr/local/ --target=i686-pc-linux-gnu
> i686-pc-linux-gnu

Compiles, but the output is still x86_64:
$ file src/libopenal.so.0.0.8
src/libopenal.so.0.0.8: ELF 64-bit LSB shared object, AMD x86-64, version 1 
(SYSV), not stripped


> Oh, wait a sec... I might know what you need.  You're probably compiling
> it with an x86_64 compiler.  For cross compiling to work, you'll need to use
> an i686 (or i386) compiler.  Try setting CC to be i386-linux-gcc and see if
> that works.

Unfortunately, I don't have a i386-linux-gcc.  Digging around, there is a
/usr/bin/i386-redhat-linux-gcc33, but setting CC to that causes configure to
fail with: 

/tmp/ccqHJnHw.s: Assembler messages: 
/tmp/ccqHJnHw.s:17: Error: suffix or operands invalid for `push'

errors when it tries to build the test program.  A 'yum provides' search for 
linux-gcc doesn't find any other versions for FC3.

Grr.  Seriously stuck here.  

Thanks,
Brian

-- 
Question with boldness even the existence of a god;
because if there be one he must approve of the
homage of reason more than that of blindfolded fear.

--Thomas Jefferson, Aug. 10, 1787


Brian Daniels                  bitmage at bellsouth.net
      http://www.eviloverlord.net




More information about the TriLUG mailing list