Date: Thu, 21 Jan 1999 12:01:46 -0500 (EST) From: Frank Donahoe To: Andris Pavenis Cc: djgpp AT delorie DOT com Subject: Re: Will gcc 2.8.1 compile itself under DJGPP 2.02? In-Reply-To: Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com On Mon, 18 Jan 1999 17:22:59 GMT Frank Donahoe asked, "Will gcc 2.8.1 compile itself under DJGPP 2.02?" The build takes place in a DOS window under Windows 98 for its long file name support. Unzip "gcc281s.zip" into DJDIR preserving tree structure. Unzip the binary distributions listed in "%DJDIR%/gnu/gcc-2.81/README.DJGPP". Unzip "djdev202.zip". From "%DJDIR%/gnu/gcc-2.81/build.djg" the command "sh djmake.sh" starts the build process. This runs into trouble. The errors are different on successive passes. ams AT ludd DOT luth DOT se (Martin Str|mberg) explained on 18 Jan 1999 19:03:55 GMT "This is the symptoms of a bug in WINDOZE, which is that it don't free DPMI selectors as it should. Worth to note is that the bug still unfixed." Open the properties box and give the DOS window as much DOS memory as Windows will allow. (600K rather than auto) But the script now went down a blind alley. Following the conditional at the target "f77-runtime:" (Makefile: line 1626) it produced: entering directory "../gcc-2.81/build.djg/f/runtime" "..No rule to make target all" Andris Pavenis on Mon, 18 Jan 1999 23:48:46 GMT explained the "Correct way how to remove Fortran support is: - remove directory f (from sources, not in build.djg) - run ./djconfig.sh " That is to issue the command "rm -fr f" from the directory %DJDIR%/gnu/gcc-2.81 Once reconfigured, the script will no longer attempt to build "g77.exe". The compilers for c, c++ and objective C are still being built. Multiple warnings are issued about "size_t" (and wchar_t) being defined in and redefined in and "va_list" defined in and redefined in . All three files are included in "djdev202.zip". Is the compiler being too pickey or should these files be protected from each other? Andris Pavenis loc.cit above "It's know thing. The problem is with fixinc.djgpp. However You can safely ignore these warnings." On Mon, 19 Jan 1999 02:26:35 GMT Frank Donahoe responded: "Done! ..." from %DJDIR%/gnu/gcc-2.81/build.djg " "sh djconfig.sh" ran without any problems..." The install command should read " sh djmake.sh prefix=$$DJDIR install The installed size of "gcc.exe" from the three runs is: gcc.exe (1) 138240 bytes (2) 138752 bytes (3) 138752 " On Wed, 20 Jan 1999 14:30:47 GMT. Frank Donahoe wrote: "I thought the rebuilding under v2.02 was completed when the size of the installed executables stabilized. However, when the new "gcc" is used to build another program, ... screen after screen of similar warnings are issued even without the warning flags raised." Refers to redefinition of size_t etc. "Andris Pavenis" Replied Wed, 20 Jan 1999 19:10:24 GMT "I know this. You should look which include files are in lib/gcc-lib/djgpp/2.81/include from binary archives of gcc-2.8.1 (gcc281b.zip, gpp281b.zip, objc281b.zip, g770523b.zip and remove other files manually from this directory). " One may copy this file, kill-lst.rsp: ; - - - cut ShouldNotExist.exe fcntl.h fixed limits.h locale.h malloc.h memory.h objc/objc.h objc/sarray.h -r sys signal.h stdarg.h stddef.h stdio.h stdlib.h string.h strings.h syslimits.h time.h unistd.h va-alpha.h va-arc.h va-clipper.h va-h8300.h va-i860.h va-i960.h va-m32r.h va-m88k.h va-mips.h va-mn10200.h va-mn10300.h va-pa.h va-ppc.h va-pyr.h va-sh.h va-sparc.h va-spur.h va-v850.h varargs.h ; - - - - end cut and place it in the directory %DJDIR%/lib/gcc-lib/djgpp/2.81/include Then, after installing the newly built compiler package, issue the command (from .../include) "rm -f @kill-lst.rsp" To answer my original question, "yes, it is possible, but no one is willing to make the process elegant." Thanks to Andris Pavenis for the original port of 2.81 and for the prompt and helpful replies. Frank