From: Matthew T. <ran...@gm...> - 2009-09-07 23:40:12
|
Hi all, I'm attempting to build a cross-compile toolchain on Ubuntu-JJ. I'm building with the following script: #! /bin/sh top_dir=`pwd` cd binutils/src mkdir build cd build ../configure --target=x86_64-w64-mingw32 \ --enable-targets=x86_64-w64-mingw32,i686-w64-mingw32 if make ; then echo "built binutils successfully" ; else echo "make failed on binutils" exit ; fi sudo make install cd $top_dir/mingw/mingw-w64-headers # copy include directory sudo cp -r include /usr/local/x86_64-w64-mingw32/ # gcc requires it be mirrored sudo ln -s /usr/local/x86_64-w64-mingw32 /usr/local/mingw # create lib directory sudo mkdir /usr/local/x86_64-w64-mingw32/lib sudo ln -s /usr/local/x86_64-w64-mingw32/lib /usr/local/x86_64-w64-mingw32/lib64 # configure and build gcc cd $top_dir/gcc/gcc mkdir build cd build ../configure --target=x86_64-w64-mingw32 --enable-targets=all if make all-gcc ; then echo "built gcc successfully" ; else echo "make failed on gcc" exit ; fi sudo make install-gcc # configure and build crt cd $top_dir/mingw/mingw-w64-crt mkdir build cd build ../configure --host=x86_64-w64-mingw32 --enable-lib32 if make ; then echo "built crt successfully" ; else echo "make failed on crt" exit ; fi sudo make install # finish gcc cd $top_dir/gcc/build if make ; then echo "built rest of gcc successfully" ; else echo "make failed on rest of gcc" exit ; fi sudo make install -----end script------------- Building fails on building crt. Here's the output: echo "static int __attribute__((unused)) __mingw_libm_dummy;" > _libm_dummy.c make all-am make[1]: Entering directory `/home/matthew/source/mingw64/mingw/mingw-w64-crt/build' x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -m32 -pipe -Wall -Wno-strict-aliasing -std=gnu99 -g -O2 -MT lib32_libm_a-_libm_dummy.o -MD -MP -MF .deps/lib32_libm_a-_libm_dummy.Tpo -c -o lib32_libm_a-_libm_dummy.o `test -f '_libm_dummy.c' || echo '../'`_libm_dummy.c mv -f .deps/lib32_libm_a-_libm_dummy.Tpo .deps/lib32_libm_a-_libm_dummy.Po rm -f lib32/libm.a x86_64-w64-mingw32-ar cru lib32/libm.a lib32_libm_a-_libm_dummy.o x86_64-w64-mingw32-ranlib lib32/libm.a x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -m32 -pipe -Wall -Wno-strict-aliasing -std=gnu99 -g -O2 -MT libsrc/lib32_libmingwthrd_a-dummy_mingwthrd.o -MD -MP -MF libsrc/.deps/lib32_libmingwthrd_a-dummy_mingwthrd.Tpo -c -o libsrc/lib32_libmingwthrd_a-dummy_mingwthrd.o `test -f 'libsrc/dummy_mingwthrd.c' || echo '../'`libsrc/dummy_mingwthrd.c mv -f libsrc/.deps/lib32_libmingwthrd_a-dummy_mingwthrd.Tpo libsrc/.deps/lib32_libmingwthrd_a-dummy_mingwthrd.Po rm -f lib32/libmingwthrd.a x86_64-w64-mingw32-ar cru lib32/libmingwthrd.a libsrc/lib32_libmingwthrd_a-dummy_mingwthrd.o x86_64-w64-mingw32-ranlib lib32/libmingwthrd.a x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -m32 -pipe -Wall -Wno-strict-aliasing -std=gnu99 -g -O2 -MT libsrc/lib32_libshell32_a-shell32.o -MD -MP -MF libsrc/.deps/lib32_libshell32_a-shell32.Tpo -c -o libsrc/lib32_libshell32_a-shell32.o `test -f 'libsrc/shell32.c' || echo '../'`libsrc/shell32.c mv -f libsrc/.deps/lib32_libshell32_a-shell32.Tpo libsrc/.deps/lib32_libshell32_a-shell32.Po rm -f lib32/libshell32.a x86_64-w64-mingw32-dlltool -k --as=x86_64-w64-mingw32-as --output-lib lib32/libshell32.a --def ../`echo lib32/libshell32.a | /bin/sed 's|/lib|/|;s|\.a|.def|'` -m i386 --as-flags=--32; x86_64-w64-mingw32-ar cru lib32/libshell32.a libsrc/lib32_libshell32_a-shell32.o Assembler messages: Fatal error: selected target format 'coff-i386' unknown x86_64-w64-mingw32-dlltool: x86_64-w64-mingw32-as exited with status 1 Assembler messages: Fatal error: selected target format 'coff-i386' unknown x86_64-w64-mingw32-dlltool: x86_64-w64-mingw32-as exited with status 1 x86_64-w64-mingw32-ar: lib32/libshell32.a: File format not recognized make[1]: *** [lib32/libshell32.a] Error 1 make[1]: Leaving directory `/home/matthew/source/mingw64/mingw/mingw-w64-crt/build' make: *** [all] Error 2 make failed on crt ------end output--------------- Any ideas what I'm doing wrong? Thanks, Matthew |