[Mingw-users] Trouble with building multilib GCC (MinGW)

17 views
Skip to first unread message

niXman

unread,
Mar 11, 2012, 12:36:05 PM3/11/12
to mingw...@lists.sourceforge.net
Hello!

Error appears when building libgcc_s_sjlj-1.dll - 64bit.
libgcc_s_sjlj-1.dll - 32bit is built successfully.
The error apparently consists in that for 32/64 bit are used the same
libraries - 32bit.

That`s how I do it :
1. host compiler installed in /e/mingw:
> Using built-in specs.
> COLLECT_GCC=e:\mingw\bin\gcc.exe
> COLLECT_LTO_WRAPPER=e:/mingw/bin/../libexec/gcc/i686-pc-mingw32/4.6.3/lto-wrapper.exe
> Target: i686-pc-mingw32
> Configured with: ../../mingw-src/gcc-4.6.3/configure \
> --host=i686-pc-mingw32 --build=i686-pc-mingw32 \
> --target=i686-pc-mingw32 --prefix=/mingw-dwarf-x86 \
> --with-arch=i686 --with-tune=generic \
> --enable-languages=c,c++,lto,fortran \
> --enable-libstdcxx-time=yes --with-host-libstdcxx=-lstdc++ \
> --enable-shared --enable-static --enable-libgomp \
> --enable-lto --enable-graphite --enable-cloog-backend=isl \
> --enable-checking=release --enable-fully-dynamic-string \
> --enable-threads=posix --disable-libstdcxx-pch \
> --enable-libstdcxx-debug --enable-sjlj-exceptions \
> --disable-debug --disable-bootstrap \
> --disable-multilib --disable-rpath --disable-win32-registry \
> --disable-nls --disable-werror --disable-symvers \
> --with-gmp=/mingw-libs --with-mpfr=/mingw-libs \
> --with-mpc=/mingw-libs --with-ppl=/mingw-libs \
> --with-cloog=/mingw-libs --with-libiconv-prefix=/mingw-libs

2. building binutils: (successfully)
--target=i686-w64-mingw32
--enable-targets=x86_64-w64-mingw32,i686-w64-mingw32
--enable-multilib
--enable-64-bit-bfd
--prefix=$PREFIX
--with-sysroot=$PREFIX
--disable-nls
--enable-lto
--with-libiconv-prefix=$LIBS_DIR

3. building mingw-w64-headers: (successfully)
--host=i686-w64-mingw32
--target=i686-w64-mingw32
--prefix=$PREFIX
--with-sysroot=$PREFIX
--enable-sdk=all
--enable-secure-api

4. building gcc-c: (successfully)
--target=i686-w64-mingw32
--enable-targets=all
--enable-multilib
--prefix=$PREFIX
--with-sysroot=$PREFIX
--enable-languages=c,c++,lto

5. set new PATH:
export PATH=$PREFIX/bin:$PATH

6. building mingw-w64-crt: (successfully)
--host=i686-w64-mingw32
--prefix=$PREFIX
--with-sysroot=$PREFIX
--enable-lib32
--enable-lib64

7. building gcc-all: (errors!)
make all


In log file: http://pastebin.com/KiGHVgVQ you can see that
libgcc_s_sjlj.dll - 32bit
is built successfully(line two), but libgcc_s_sjlj.dll 64 bit - error.
(line four)

If you see logfile then you can see that
for linking 32bit and 64bit libgcc_s_sjlj-1.dll are used 32bit CRT.
If in Makefile for 64bit version I replace <prefix>/<target>/lib with
<prefix>/<target>/lib64 - linking is successfully.
I.e. the problem is that wrong Makefiles are created.

libgcc_s_sjlj-1.dll - 32bit:
> -L/home/niXman/mb-0.8/../mingw-x32/i686-w64-mingw32/lib -L/home/niXman/mb-0.8/../mingw-x32/mingw/lib

libgcc_s_sjlj-1.dll - 64bit:
> -L/home/niXman/mb-0.8/../mingw-x32/i686-w64-mingw32/lib -L/home/niXman/mb-0.8/../mingw-x32/mingw/lib


I want to understand why?
Ideas?


Thanks.

--
Regards,
  niXman

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
MinGW-users mailing list
MinGW...@lists.sourceforge.net

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:mingw-use...@lists.sourceforge.net?subject=unsubscribe

Reply all
Reply to author
Forward
0 new messages