Date: Wed, 2 Feb 94 14:31:40 JST From: Stephen Turnbull To: sheen AT pact DOT srf DOT ac DOT uk Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Make problems ... are generally solved by more *real* memory This is to amplify Bob Babcock's discussion, which is basically sufficient in itself for practical purposes. The following is available in the archives; it's basically a paraphrase of a conversation I had with Charles Sandmann. All DJGPP programs need their own copies of GO32. It seems that the current copy needs about 180KB of free real memory (under the 640KB boundary for those Un*x junkies who are joining our broadcast late) to set itself up, and the next few require 150KB each (with the standard stubbed executables, this drops to 130KB with GO32 itself bound into the image---a generally bad idea but possible). The differential has something to do with GO32 paging out some of its tables along with the application on a system() call. Now when you run make, make brings a copy of GO32 (leaving 150KB), and calls GCC (adding a second copy of GO32, adding 150KB), which then calls the various compilers (adding a third copy of GO32, adding another 180KB), giving a minimum of 480KB being required. I have run into recursive makefile (make calls make!) and now you're talking 610KB. As a practical matter, untuned DOS systems generally leave 500 free at the command line. What with the huge environments demanded by Unix-style applications, if you have any drivers or TSRs (ANSI, Double-space, SideKick, etc) running, your compiles under make are going to choke when they get to the actual compiler, loader, etc. I found that with QEMM 7, I can get enough memory both under DOS and under DESQview to run (non-recursive) makes quite comfortably. I highly recommend QEMM or 386MAX until that happy day that GO32 becomes reentrant. DOS 5 and 6 do a pretty good job, but they're not as automatic as QEMM and 386MAX. Also, the EMM386s that comes with DOS 5 and Windows 3.1 are different and have different incompatibilities with other protected mode programs. QEMM and 386MAX seem to have a definite edge in out-of-the-box compatibility with 3rd party software. Hope this helps. Good luck! --Steve