Yes, with the following result tovrea@challenger% /home/users/tovrea/local/linux/bin/gcc -m32 -L/usr/lib -L/home/users/tovrea/local/linux/32/lib -L/home/users/tovrea/local/linux/lib/gcc/x86_64-unknown-linux-gnu/4.4.0 -L/home/users/tovrea/local/linux/lib/gcc/x86_64-unknown-linux-gnu/lib64 -o testit testit.o -lz -lbz2 -pthread -lm -lx264 -lm /usr/bin/ld: skipping incompatible /usr/lib64/libbz2.so when searching for -lbz2 /usr/bin/ld: skipping incompatible /usr/lib64/libbz2.a when searching for -lbz2 /usr/bin/ld: cannot find -lbz2 collect2: ld returned 1 exit status -----Original Message----- From: gcc-help-owner@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx] On Behalf Of Brian Budge Sent: Thursday, August 27, 2009 12:46 PM To: Tovrea, George W (US SSA) Cc: gcc-help@xxxxxxxxxxx Subject: Re: Cannot build 32 bit apps with GCC 4.4.0 Have you tried tagging -L/usr/lib to your command line? On Thu, Aug 27, 2009 at 12:40 PM, Tovrea, George W (US SSA)<george.tovrea@xxxxxxxxxxxxxx> wrote: > System: > > hostname = challenger > uname -m = x86_64 > uname -r = 2.6.9-67.ELxenU > uname -s = Linux > uname -v = #1 SMP Wed Nov 7 14:17:17 EST 2007 > /bin/arch = x86_64 > > For example: > > libx264.a built as 32 bit > > Testit.c > extern int x264_encoder_open(); > int main(void){ x264_encoder_open(); } > > /home/users/tovrea/local/linux/bin/gcc -m32 -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -I/home/users/tovrea/local/linux/32/include -std=c99 -fomit-frame-pointer -pthread -c -o testit.o testit.c > > Works ok. but > > /home/users/tovrea/local/linux/bin/gcc -L/home/users/tovrea/local/linux/32/lib -L/home/users/tovrea/local/linux/lib/gcc/x86_64-unknown-linux-gnu/4.4.0 -L/home/users/tovrea/local/linux/lib/gcc/x86_64-unknown-linux-gnu/lib64 -o testit testit.o -lz -lbz2 -pthread -lm -lx264 -lm > /usr/bin/ld: skipping incompatible /home/users/tovrea/local/linux/32/lib/libx264.a when searching for -lx264 > /usr/bin/ld: cannot find -lx264 > > And > > tovrea@challenger%/home/users/tovrea/local/linux/bin/gcc -m32 -L/home/users/tovrea/local/linux/32/lib -L/home/users/tovrea/local/linux/lib/gcc/x86_64-unknown-linux-gnu/4.4.0 -L/home/users/tovrea/local/linux/lib/gcc/x86_64-unknown-linux-gnu/lib64 -o testit testit.o -lz -lbz2 -pthread -lm -lx264 -lm > /usr/bin/ld: skipping incompatible /usr/lib64/libbz2.so when searching for -lbz2 > /usr/bin/ld: skipping incompatible /usr/lib64/libbz2.a when searching for -lbz2 > /usr/bin/ld: cannot find -lbz2 > collect2: ld returned 1 exit status > > What am I doing wrong here? I don't see it. I would expect if I select m32 that gcc would select /usr/lib (32 bit libs) rather than /usr/lib64. > > Bill Tovrea > > BAE Systems > > 16550 West Bernardo Drive > San Diego, CA 92127 > > Telephone: (858) 592-5292 > > Pager: (888) 971-4964 > > E-mail: George.Tovrea@xxxxxxxxxxxxxx > > >