Problem with compiling using -m32

Alireza Haghdoost haghdoost@gmail.com
Fri Feb 11 06:02:00 GMT 2011


Hello

I am trying to make an application on a 64-bit machine with -m32
option. I have add "-m32" in CFLAGS and
"-L/usr/lib/gcc/x86_64-linux-gnu/4.4/32 -m32 -L/usr/lib32" in LDFLAGS.
However I have got the following error :


cc -m32 -g -I../../diskmodel/include -I../../libparam/include
-I../../libddbg/include   -c -o driver.o driver.c
cc -m32 -g -I../../diskmodel/include -I../../libparam/include
-I../../libddbg/include -o layout_simple layout_simple.c driver.o
-L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam
-L../../libddbg/lib -lddbg -L/usr/lib/gcc/x86_64-linux-gnu/4.4/32 -m32
-L/usr/lib32
/usr/bin/ld: i386:x86-64 architecture of input file
`/usr/lib/gcc/x86_64-linux-gnu/4.1.3/crtbegin.o' is incompatible with
i386 output
/usr/bin/ld: i386:x86-64 architecture of input file
`/usr/lib/gcc/x86_64-linux-gnu/4.1.3/crtend.o' is incompatible with
i386 output
collect2: ld returned 1 exit status
make: *** [layout_simple] Error 1


I have 32-bit version of crtbegin.o and crtend.o in
/usr/lib/gcc/x86_64-linux-gnu/4.4/32/ However gcc try to use 64-bit
version from /usr/lib/gcc/x86_64-linux-gnu/4.1.3/.

Does any one know how I can force gcc to use object files in
/usr/lib/gcc/x86_64-linux-gnu/4.4/32/ ?


Alireza Haghdoost



More information about the Gcc-help mailing list