Re: [HOWTO] Compile in 32-bits mode on an AMD64 arch... ?
Emmanuel Fleury <emmanuel.fleury@labri.fr> writes:
> Hi all,
>
> I'm trying to compile a software in 32-bits mode on my AMD64.
>
> I installed the packages:
> o binutils-multiarch
irelevant
> o ia32-libs
irelevant
> o ... and all the packages related to these ones through the dependancies.
What you actualy do need is gcc-3.4 + ia32-libs-dev on sarge and
libc6-dev-i386 on etch/sid.
> Then, I compiled the software with the option '-m32'.
>
> It's quite fine for simple softwares (without linking phase) but as soon
> as we get to link static libraries to objects files I get this error
> messages:
>
> Compiling using -m32 -g -Wall -DVERBOSE -DENABLE_GAMES
> -DBOOST_DISABLE_THREADS -DVERBOSE -DENABLE_GAMES -DBOOST_DISABLE_THREADS
> g++ : tiga/tests/server
> /usr/bin/ld: skipping incompatible
> /home/fleury/development/projects/Uppaal-project/Uppaal/trunk/server/modules/lib/libverifier.a
> when searching for -lverifier
> /usr/bin/ld: cannot find -lverifier
> collect2: ld returned 1 exit status
> make[1]: *** [server] Error 1
> make: *** [default] Error 2
>
> Any clue ?
You need a 32bit libverifier. The one from
/home/fleury/development/projects/Uppaal-project/Uppaal/trunk/server/modules/\
lib/ seems to be 64bit. (or you are trying to build a 64bit lib with
the 32bit libverifier).
Did you maybe forget to set LDFLAGS? CFLAGS are usualy only used when
compiling and not when linking and then you try to link all the 32bit
objects into a 64bit library.
> Regards
MfG
Goswin
Reply to: