Cannot build 32 bit apps with GCC 4.4.0

Brian Budge brian.budge@gmail.com
Fri Aug 28 14:12:00 GMT 2009


Are you positive you have the 32 bit version of libbz2 installed?

On Thu, Aug 27, 2009 at 1:09 PM, Tovrea, George W (US
SSA)<george.tovrea@baesystems.com> wrote:
> 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@gcc.gnu.org [mailto:gcc-help-owner@gcc.gnu.org] On Behalf Of Brian Budge
> Sent: Thursday, August 27, 2009 12:46 PM
> To: Tovrea, George W (US SSA)
> Cc: gcc-help@gcc.gnu.org
> 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@baesystems.com> 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@baesystems.com
>>
>>
>>
>



More information about the Gcc-help mailing list