D.gnu - Compiling relocatable mingw gdc
- Bill Baxter (51/51) Mar 05 2008 This is mostly meant for Anders... a continuation of an off-NG mail
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (11/17) Mar 06 2008 I redid the build again on Windows XP, and ran into two things that
- Bill Baxter (3/25) Mar 06 2008 Ok. Great.
This is mostly meant for Anders... a continuation of an off-NG mail exchange about trying to build mingw gdc from source. So here's where I currently am The Makefile is generating compile lines like this: stage1/xgcc.exe -Bstage1/ -B/gdc/mingw32/bin/ -c \ -g0 -O2 -DIN_GCC \ -W -Wall -Wwrite-strings -Wstrict-prototypes \ -Wmissing-prototypes -pedantic \ -Wno-long-long -Wold-style-definition \ -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I. \ -I../../gcc-3.4.5-20060117-1/gcc \ -I../../gcc-3.4.5-20060117-1/gcc/. \ -I../../gcc-3.4.5-20060117-1/gcc/../include \ ../../gcc-3.4.5-20060117-1/gcc/genmodes.c -o genmodes.o none of those -I's point to place where there are actually any system headers, and genmodes there tries to #include something which #includes <stdio.h> among other things. The xgcc (boostrap compiler?) seems not to have any intrinsic knowlege of where system headers are. I was reading the MinGW install instructions from the MinGW site, and they said "runtime and win32 headers are separate". So I thought maybe I could fix things by downloading the mingw runtime and copying its include,lib,and bin dirs into the toplevel gcc-3.4.5-20060117-1 dir. That sort of worked but then there's a conflict over "mem.h" which is in the MinGW runtime include dir and also in the dmd front end. It was finding the runtime version when trying to compile gdc. So I renamed the runtime version to _mem.h. And that let me get past that. Now I'm stuck on an ld error. It can't find crt2.o -- ----------------- stage1/xgcc.exe -Bstage1/ -B/gdc/mingw32/bin/ \ -g0 -O2 -DIN_GCC \ -W -Wall -Wwrite-strings \ -Wstrict-prototypes -Wmissing-prototypes \ -pedantic -Wno-long-long -Wold-style-definition \ -DHAVE_CONFIG_H -DGENERATOR_FILE -o genmodes.exe \ genmodes.o errors.o ../libiberty/libiberty.a c:\MinGW\bin\ld.exe: crt2.o: No such file: No such file or directory ------------- I've got crt2.o in both: C:\mingw\lib and ../gcc-3.4.5-20060117-1/lib/crt2.o Apparently something about my environment doesn't match what the mingw make files are expecting. In particular these -B/gdc/mingw32/bin paths look odd. /gdc is a bogus directory to begin with (I'm using the fstab hack you pointed me to), and I don't have a dir like mingw32/bin anywhere even in my c:\mingw install. That string "mingw32" as part of a path is included in the Makefile. I'm not sure where it comes from. Maybe coming from --target=mingw32 flag passed to configure? Any ideas appreciated. --bb
Mar 05 2008
Bill Baxter wrote:This is mostly meant for Anders... a continuation of an off-NG mail exchange about trying to build mingw gdc from source....I was reading the MinGW install instructions from the MinGW site, and they said "runtime and win32 headers are separate". So I thought maybe I could fix things by downloading the mingw runtime and copying its include,lib,and bin dirs into the toplevel gcc-3.4.5-20060117-1 dir.I redid the build again on Windows XP, and ran into two things that I had forgotten all about since the pre-1.0 time when I last did it... First, I couldn't get the setup to work with MinGW but only in Cygwin (seems patch is silly). Second, something had hardcoded /usr/include. My hackaround was to ln -s /mingw/include /usr/include while building, which probably is totally wrong but I didn't feel like diving into it. If everything is working alright, I'll package the pre-release up and put it on the gdcwin site - maybe even with some building instructions. --anders
Mar 06 2008
Anders F Björklund wrote:Bill Baxter wrote:Ok. Great. --bbThis is mostly meant for Anders... a continuation of an off-NG mail exchange about trying to build mingw gdc from source....I was reading the MinGW install instructions from the MinGW site, and they said "runtime and win32 headers are separate". So I thought maybe I could fix things by downloading the mingw runtime and copying its include,lib,and bin dirs into the toplevel gcc-3.4.5-20060117-1 dir.I redid the build again on Windows XP, and ran into two things that I had forgotten all about since the pre-1.0 time when I last did it... First, I couldn't get the setup to work with MinGW but only in Cygwin (seems patch is silly). Second, something had hardcoded /usr/include. My hackaround was to ln -s /mingw/include /usr/include while building, which probably is totally wrong but I didn't feel like diving into it. If everything is working alright, I'll package the pre-release up and put it on the gdcwin site - maybe even with some building instructions. --anders
Mar 06 2008