From: Klaus R. <lts...@gm...> - 2004-04-01 11:00:55
|
Hi group, I tried to get a gcc on linux which compiles for windows. I downloaded the "normal" actual versions from binutils (2.14) and gcc (3.3.3) and configured with: ./configure --target=i386-mingw32 --prefix=/opt/mingw and the compiler additionally with: --enable-languages=c,c++ I also: download: mingw-runtime-3.2-src.tar.gz download: w32api-2.4-src.tar.gz and copied the untared files to the /opt/mingw/i386-mingw32 path. After that i compiled and installed binutils, no problem After that I compiled the compiler... first it breakes while the compiler tries to link against an crt2.o which was not build in that moment. And there is no way to build that because I have no compiler :-) After that I loaded the "special versions": gcc-core-3.3.3-200402017-1-src.tar.gz gcc-g++-3.3.3-200402017-1-src.tar.gz and I also loaded the binary versions of the missing user32 and crt2.o files: w32api-2.5.tar.gz mingw-runtime-3.2.tar.gz and copied the content to the /opt/mingw/i386-mingw32 path. After that I could continue the compilation but now the compilation breaks in:ln: `./ropeimpl.h': File exists ln: `./slist': File exists ln: `./stl_hash_fun.h': File exists ln: `./stl_hashtable.h': File exists ln: `./stl_rope.h': File exists make[3]: *** No rule to make target `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3/config/config/os/newlib/ctype_base.h', needed by `stamp-target'. Stop. make[3]: Leaving directory `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3/include' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3' make[1]: *** [all-recursive-am] Error 2 make[1]: Leaving directory `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3' make: *** [all-target-libstdc++-v3] Error 2 Should I now switch back to the "native gcc-3.3.3" distribution? Or must i donwnload a special c++ lib?????? Could you please help me how I can: - build the needed crt files without the compiler/ order the makefile to build the compiler and compile after that crt - build the user libs for win32 AFTER! the compiler - how to build the c++ libs - how to get a working linix mingw environment without loading binaries or if that all will never work how I can get a actual 3.3.3 compiler and binutils 2.14 or 2.15 which I can use as binary? Sorry, but the actual distribution on sf.net is absolutly unusable for me (and others ass wll I think). In addition: How can I report such bugs? Is this list the correct place for reporting such bugs? If this was allready posted in older mails in this list, I googled a lot but could only found problems but no answers and I hope that I will be able to build mingw gcc next time :-) Thanks Klaus -- +++ NEU bei GMX und erstmalig in Deutschland: TÜV-geprüfter Virenschutz +++ 100% Virenerkennung nach Wildlist. Infos: http://www.gmx.net/virenschutz |
From: Igor Mikolic-T. <igo...@co...> - 2004-04-01 12:10:49
Attachments:
build-mingw-cross
|
Hi Klaus, A week or two ago, several folks discussed problems building the v3.3.3 compiler as a cross-compiler. I don't recall exactly what the problem was, but you can probably find the old messages on google or other archives. However, earlier versions build just fine as cross-compilers "out of the box". The attached script will build the 3.3.1 version as a cross-compiler on linux. Igor On Thursday 01 April 2004 06:00, Klaus Rudolph wrote: > Hi group, > > I tried to get a gcc on linux which compiles for windows. > I downloaded the "normal" actual versions from binutils (2.14) and gcc > (3.3.3) and > configured with: > > ./configure --target=i386-mingw32 --prefix=/opt/mingw > > and the compiler additionally with: > --enable-languages=c,c++ > > I also: > download: mingw-runtime-3.2-src.tar.gz > download: w32api-2.4-src.tar.gz > > and copied the untared files to the /opt/mingw/i386-mingw32 path. > > After that i compiled and installed binutils, no problem > After that I compiled the compiler... > > first it breakes while the compiler tries to link against an crt2.o which > was not build in that moment. > And there is no way to build that because I have no compiler :-) > > After that I loaded the "special versions": > gcc-core-3.3.3-200402017-1-src.tar.gz > gcc-g++-3.3.3-200402017-1-src.tar.gz > > and I also loaded the binary versions of the missing user32 and crt2.o > files: > w32api-2.5.tar.gz > mingw-runtime-3.2.tar.gz > and copied the content to the /opt/mingw/i386-mingw32 path. > > After that I could continue the compilation but now the compilation > breaks in:ln: `./ropeimpl.h': File exists > ln: `./slist': File exists > ln: `./stl_hash_fun.h': File exists > ln: `./stl_hashtable.h': File exists > ln: `./stl_rope.h': File exists > make[3]: *** No rule to make target > `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3 >/config/config/os/newlib/ctype_base.h', needed by `stamp-target'. Stop. > make[3]: Leaving directory > `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3 >/include' make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory > `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3 >' make[1]: *** [all-recursive-am] Error 2 > make[1]: Leaving directory > `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3 >' make: *** [all-target-libstdc++-v3] Error 2 > > Should I now switch back to the "native gcc-3.3.3" distribution? Or must i > donwnload a special c++ lib?????? > > Could you please help me how I can: > > - build the needed crt files without the compiler/ order the makefile to > build the compiler and compile after that crt > - build the user libs for win32 AFTER! the compiler > - how to build the c++ libs > - how to get a working linix mingw environment without loading binaries > or if that all will never work how I can get a actual 3.3.3 compiler and > binutils 2.14 or 2.15 which I can use as > binary? > > Sorry, > but the actual distribution on sf.net is absolutly unusable for me (and > others ass wll I think). > > In addition: How can I report such bugs? Is this list the correct place for > reporting such bugs? > > If this was allready posted in older mails in this list, I googled a lot > but could only found problems but no answers and > I hope that I will be able to build mingw gcc next time :-) > > Thanks > Klaus |
From: Bernd J. <ber...@us...> - 2004-04-01 14:19:37
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message On Thu, Apr 01, 2004 at 07:07:51AM -0500, Igor Mikolic-Torreira wrote: > A week or two ago, several folks discussed problems building the v3.3.3 > compiler as a cross-compiler. I don't recall exactly what the problem was, > but you can probably find the old messages on google or other archives. Problems: - The patch simply doesn't apply cleanly - it bails on boehm-gc and somewhere in the GCC guts where there are/aren't carriage returns in the original source. - The patch to libstdc++/configure adds a "case" case of * that makes the build want to use newlib headers. Here, apply this *after* the mingw patch (in which you need to comment out the hunks that don't apply): diff -c -3 -p -r1.286.2.19 configure *** gcc/libstdc++-v3/configure 12 Jan 2004 16:18:45 -0000 1.286.2.19 --- gcc/libstdc++-v3/configure 18 Feb 2004 21:29:45 -0000 *************** if test -n "$with_cross_host" || test x" *** 4212,4220 **** - *) - os_include_dir="config/os/newlib" - cat >> confdefs.h <<\EOF - #define HAVE_HYPOT 1 - EOF - - ;; *-linux*) os_include_dir="os/gnu-linux" --- 4212,4213 ---- > However, earlier versions build just fine as cross-compilers "out of the box". > The attached script will build the 3.3.1 version as a cross-compiler on > linux. Did your earlier versions of cross-compilers produce *working* binaries? (Real question: do binutils need to be patched also? I thought the answer was "not needed", but I notice there are diffs on the sourceforge download list.) > On Thursday 01 April 2004 06:00, Klaus Rudolph wrote: > > and the compiler additionally with: > > --enable-languages=c,c++ If you configure for only C, this ctype_base.h stuff doesn't occur. > > first it breakes while the compiler tries to link against an crt2.o which > > was not build in that moment. > > And there is no way to build that because I have no compiler :-) If you're lucky, you can use /wherever/gcc/is/gcc/xgcc -B/wherever/gcc/is/gcc as your compiler. It works quite okay as long as you're producing only relocateable object files (no executables). I remember having to use that as CC when configuring either w32api or mingw-runtime. There was also a bit of a trick pointing to the headers before they were installed. > > Should I now switch back to the "native gcc-3.3.3" distribution? Or must i > > donwnload a special c++ lib?????? No, just can the broken hunks in the mingw patch. > > - how to get a working linix mingw environment without loading binaries > > or if that all will never work how I can get a actual 3.3.3 compiler and > > binutils 2.14 or 2.15 which I can use as > > binary? If it will never work, how on earth does it work at all, anywhere, in the first place? What exactly *is* the bootstrap path, magic? > > If this was allready posted in older mails in this list, I googled a lot > > but could only found problems but no answers and I hope that I will > > be able to build mingw gcc next time :-) Plenty of frustration here, too. For a while I thought I was the only one having trouble building a cross compiler! :) -- I have neither the need, the time, or the inclination to put words into your mouth. You are perfectly capable of damaging your reputation without any help from me. --Richard Heathfield roasts a troll in comp.lang.c -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQFAbCO1/FmLrNfLpjMRAtUVAKCDdhR2iLuCZI0S6oC3ofojfu37PACgq/gP FnQ0PDJy3Rm16/0qs5NPjfU= =Lqo2 -----END PGP SIGNATURE----- |
From: Igor Mikolic-T. <igo...@co...> - 2004-04-01 15:36:56
|
On Thursday 01 April 2004 09:14, Bernd Jendrissek wrote: > On Thu, Apr 01, 2004 at 07:07:51AM -0500, Igor Mikolic-Torreira wrote: [snip] > > However, earlier versions build just fine as cross-compilers "out of the > > box". The attached script will build the 3.3.1 version as a > > cross-compiler on linux. > > Did your earlier versions of cross-compilers produce *working* binaries? > > (Real question: do binutils need to be patched also? I thought the > answer was "not needed", but I notice there are diffs on the sourceforge > download list.) Yes, I use the cross-compiler regularly to build working Win32 executables (both command-line and GUI executables). For 3.3.1, no need to patch anything -- just build the source packages that are on the MinGW site. I personally have not tried to build the 3.3.3 candidate release -- I generally stick to current (vice candidate) release packages. Igor |
From: Michael G. <mg...@te...> - 2004-04-01 12:28:50
|
> A week or two ago, several folks discussed problems building the v3.3.3=20 > compiler as a cross-compiler. I don't recall exactly what the problem wa= s,=20 > but you can probably find the old messages on google or other archives. >=20 > However, earlier versions build just fine as cross-compilers "out of the = box". =20 > The attached script will build the 3.3.1 version as a cross-compiler on=20 > linux. After applying the patch below and re-run autoconf and/or automake (or applying a similar patch to gcc-3.3.3-200402017-1/libstdc++-v3/configure) said script does compile gcc-3.3.3-200402017-1 as of the mingw-site as well. At least it did for me. And yes, the answers to your question _are_ in the archive as simple search for "mingw linux cross compiler" entered in the "Search the archives" box on the mingw-site does proof. =2D-- gcc-3.3.3-200402017-1/libstdc++-v3/configure.in.cls=A02004-01-21 12:0= 3:26.000000000 -0800 +++ gcc-3.3.3-200402017-1/libstdc++-v3/configure.in=A0=A0=A0=A0=A02004-02-2= 3 10:40:40.000000000 -0800 @@ -141,10 +141,6 @@ =A0 =A0 =A0 =A0fi =A0 =A0 =A0 =A0AC_DEFINE(HAVE_HYPOT) =A0 =A0 =A0 =A0;; =2D =A0 =A0*) =2D =A0 =A0 =A0os_include_dir=3D"config/os/newlib" =2D =A0 =A0 =A0AC_DEFINE(HAVE_HYPOT) =2D =A0 =A0 =A0;; =A0 =A0 =A0*-linux*) =A0 =A0 =A0 =A0os_include_dir=3D"os/gnu-linux" =A0 =A0 =A0 =A0AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ Best, Michael =2D-=20 Vote against SPAM - see http://www.politik-digital.de/spam/ Michael Gerdau email: mg...@te... GPG-keys available on request or at public keyserver |
From: Kuba O. <ku...@ma...> - 2004-04-01 22:53:34
|
> =A0 =A0 =A0 =A0fi > =A0 =A0 =A0 =A0AC_DEFINE(HAVE_HYPOT) > =A0 =A0 =A0 =A0;; > - =A0 =A0*) > - =A0 =A0 =A0os_include_dir=3D"config/os/newlib" > - =A0 =A0 =A0AC_DEFINE(HAVE_HYPOT) > - =A0 =A0 =A0;; > =A0 =A0 =A0*-linux*) > =A0 =A0 =A0 =A0os_include_dir=3D"os/gnu-linux" > =A0 =A0 =A0 =A0AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ Isn't that equal to --without-newlib configuration option? I guess that if= =20 your build script omits --without-newlib, you should just add it to the lis= t=20 of configure options. Cheers, Kuba Ober |
From: Michael G. <mg...@te...> - 2004-04-04 14:25:43
|
> Isn't that equal to --without-newlib configuration option? I guess that if > your build script omits --without-newlib, you should just add it to the list > of configure options. At first glance it seems to work (mostly). There do remain some problems but I'll have to check on that in more detail. Best, Michael -- Vote against SPAM - see http://www.politik-digital.de/spam/ Michael Gerdau email: mg...@te... GPG-keys available on request or at public keyserver |
From: Frank K. <fmf...@mi...> - 2004-04-05 20:35:22
|
Hello Klaus, I have a procedure that I used to create MINGW on my System. It worked very good for me. If you are interested, I would be glad to send a copy of it to you. Yours truly, Frank Krauss +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ On Thursday 01 April 2004 06:00, Klaus Rudolph wrote: > Hi group, > > I tried to get a gcc on linux which compiles for windows. > I downloaded the "normal" actual versions from binutils (2.14) and gcc > (3.3.3) and > configured with: > > ./configure --target=i386-mingw32 --prefix=/opt/mingw > > and the compiler additionally with: > --enable-languages=c,c++ > > I also: > download: mingw-runtime-3.2-src.tar.gz > download: w32api-2.4-src.tar.gz > > and copied the untared files to the /opt/mingw/i386-mingw32 path. > > After that i compiled and installed binutils, no problem > After that I compiled the compiler... > > first it breakes while the compiler tries to link against an crt2.o which > was not build in that moment. > And there is no way to build that because I have no compiler :-) > > After that I loaded the "special versions": > gcc-core-3.3.3-200402017-1-src.tar.gz > gcc-g++-3.3.3-200402017-1-src.tar.gz > > and I also loaded the binary versions of the missing user32 and crt2.o > files: > w32api-2.5.tar.gz > mingw-runtime-3.2.tar.gz > and copied the content to the /opt/mingw/i386-mingw32 path. > > After that I could continue the compilation but now the compilation > breaks in:ln: `./ropeimpl.h': File exists > ln: `./slist': File exists > ln: `./stl_hash_fun.h': File exists > ln: `./stl_hashtable.h': File exists > ln: `./stl_rope.h': File exists > make[3]: *** No rule to make target > `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3 >/config/config/os/newlib/ctype_base.h', needed by `stamp-target'. Stop. > make[3]: Leaving directory > `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3 >/include' make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory > `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3 >' make[1]: *** [all-recursive-am] Error 2 > make[1]: Leaving directory > `/home/rudolphk/avrdownload/gcc-3.3.3-200402017-1/i386-mingw32/libstdc++-v3 >' make: *** [all-target-libstdc++-v3] Error 2 > > Should I now switch back to the "native gcc-3.3.3" distribution? Or must i > donwnload a special c++ lib?????? > > Could you please help me how I can: > > - build the needed crt files without the compiler/ order the makefile to > build the compiler and compile after that crt > - build the user libs for win32 AFTER! the compiler > - how to build the c++ libs > - how to get a working linix mingw environment without loading binaries > or if that all will never work how I can get a actual 3.3.3 compiler and > binutils 2.14 or 2.15 which I can use as > binary? > > Sorry, > but the actual distribution on sf.net is absolutly unusable for me (and > others ass wll I think). > > In addition: How can I report such bugs? Is this list the correct place for > reporting such bugs? > > If this was allready posted in older mails in this list, I googled a lot > but could only found problems but no answers and > I hope that I will be able to build mingw gcc next time :-) > > Thanks > Klaus |