|
From: JonY <10...@gm...> - 2009-07-09 23:20:29
|
On 7/10/2009 05:39, Alexander Shaduri wrote:
>
> Hello all,
>
> I'm trying to compile mingw's gcc 4.4.0 + mingw patches
> as a linux->win32 cross-compiler. I built binutils but I'm having problems
> with gcc.
>
> This is my configure line for gcc
> configure \
> --target=i386-pc-mingw32 \
> --prefix=%{prefix} \
> --with-local-prefix=%{prefix}/%{target} \
> --disable-werror \
> --disable-nls \
> --enable-languages=c,c++ \
> --disable-sjlj-exceptions \
> --enable-shared \
> --enable-libgcj \
> --enable-libgomp \
> --with-dwarf2 \
> --disable-win32-registry \
> --enable-libstdcxx-debug \
> --enable-version-specific-runtime-libs \
> --enable-threads \
> --disable-java-awt \
> --without-x \
> --enable-java-gc=boehm \
> --disable-libgcj-debug \
> --enable-interpreter \
> --enable-hash-synchronization
>
> (yes, I know about those useless java options, considering I'm not compiling it).
>
> I'm on openSUSE 11.1 x86_64, host gcc 4.3.2, libtool 2.2.6 (tried with 1.5.26 too).
>
> Compilation aborts with the following error:
>
> /bin/sh ./libtool --tag=CC --mode=link /usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/./gcc/xgcc -B/usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/./gcc/ -L/usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/winsup/mingw -L/usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/winsup/w32api/lib -isystem /usr/src/packages/BUILD/mingw32-gcc-4.4.0/gcc-4.4.0/winsup/mingw/include -isystem /usr/src/packages/BUILD/mingw32-gcc-4.4.0/gcc-4.4.0/winsup/w32api/include -B/opt/cross-w32/i386-pc-mingw32/bin/ -B/opt/cross-w32/i386-pc-mingw32/lib/ -isystem /opt/cross-w32/i386-pc-mingw32/include -isystem /opt/cross-w32/i386-pc-mingw32/sys-include -Wall -Werror -g -O2 -Wl,-O1 -o libgomp.la -rpath /opt/cross-w32/lib/gcc/i386-pc-mingw32/4.4.0 -version-info 1:0:0 -Wl,--version-script,../../../gcc-4.4.0/libgomp/libgomp.map -no-undefined alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo parallel.lo sections.lo single.lo
task.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo affinity.lo -lpthread
> libtool: link: /usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/./gcc/xgcc -B/usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/./gcc/ -L/usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/winsup/mingw -L/usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/winsup/w32api/lib -isystem /usr/src/packages/BUILD/mingw32-gcc-4.4.0/gcc-4.4.0/winsup/mingw/include -isystem /usr/src/packages/BUILD/mingw32-gcc-4.4.0/gcc-4.4.0/winsup/w32api/include -B/opt/cross-w32/i386-pc-mingw32/bin/ -B/opt/cross-w32/i386-pc-mingw32/lib/ -isystem /opt/cross-w32/i386-pc-mingw32/include -isystem /opt/cross-w32/i386-pc-mingw32/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran
.o .libs/affinity.o -L/usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/winsup/mingw -L/usr/src/packages/BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/winsup/w32api/lib -lpthread -Wl,-O1 -Wl,--version-script -Wl,../../../gcc-4.4.0/libgomp/libgomp.map -o .libs/libgomp-1.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libgomp-1.dll
> Creating library file: .libs/libgomp-1.dll
> libtool: link: (cd ".libs"&& rm -f "libgomp.lib"&& ln -s "libgomp-1.dll" "libgomp.lib")
> libtool: link: /opt/cross-w32/i386-pc-mingw32/bin/ar rc .libs/libgomp.lib alloc.o barrier.o critical.o env.o error.o iter.o iter_ull.o loop.o loop_ull.o ordered.o parallel.o sections.o single.o task.o team.o work.o lock.o mutex.o proc.o sem.o bar.o ptrlock.o time.o fortran.o affinity.o
> /opt/cross-w32/i386-pc-mingw32/bin/ar: .libs/libgomp.lib: File format not recognized
> make[4]: *** [libgomp.la] Error 1
> make[4]: Leaving directory `/0S/a11/0build/11.1-BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/libgomp'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/0S/a11/0build/11.1-BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/libgomp'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/0S/a11/0build/11.1-BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/libgomp'
> make[1]: *** [all-target-libgomp] Error 2
> make[1]: Leaving directory `/0S/a11/0build/11.1-BUILD/mingw32-gcc-4.4.0/build'
> make: *** [all] Error 2
>
> Seems to have something to do with the .lib extension, I think.
> /opt/cross-w32/i386-pc-mingw32/bin/ar says:
> supported targets: pe-i386 pei-i386 elf32-i386 elf32-little elf32-big srec symbolsrec tekhex binary ihex
>
Hi,
I'm not sure what really happened, but you can fix this by editing
"libtool" in
"/0S/a11/0build/11.1-BUILD/mingw32-gcc-4.4.0/build/i386-pc-mingw32/libgomp".
Search for ".lib", and replace it with ".dll.a". Your first result
should be line you need to edit. Sorry, I don't remember the line number.
|