I am trying to organize a little 64-bit gnu environment on my Windows PC. I have built 64-bit mingw environment, and went on to build libraries i needed next.
When building libiconv, i have tried following this instruction, which amounted to configuring with supplying --host
parameter to configuration cipt. However, build failed with following error:
c:/mingw_mine/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-min gw32/bin/ld.exe: i386 architecture of input file `.libs/libiconv.res.o' is incom patible with i386:x86-64 output
What went wrong?
Some necessary details: i use precompiled 32-bit msys for shell. It includes number of programs, make
, install
and gcc
included. To avoid using wrong gcc
, i have first added necessary paths to PATH, C_INCLUDE_PATH and CPLUS_INCLUDE_PATH, then performed configuration with:
$ ../src/configure --prefix=/c/temp/gcc/dest --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 CPPFLAGS="-Wall -I/c/mingw_mine/include" LDFLAGS="-L/c/mingw_mine/lib"
As far as i could tell, configuration script detected compiler i wanted correctly; all in all configuration went through without a problem. Where did i386 binaries came from? Even if configuration detected architecture with uname
(/bin/uname
in 32-bit msys), why would it matter if the host is defined explicitely?