X-Authentication-Warning: smtp3.ihug.com.au: Host p1-max50.syd.ihug.com.au [203.173.144.129] claimed to be acceleron Message-ID: <000d01c11366$ca1acaf0$0a02a8c0@acceleron> From: "Andrew Cottrell" To: "Eli Zaretskii" Cc: References: Subject: Re: Make 3.791 on Windows 2000 test Date: Mon, 23 Jul 2001 21:01:12 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Reply-To: djgpp-workers AT delorie DOT com Eli, Sun, 22 Jul 2001, Andrew Cottrell wrote: > > > 1) Does this look like the same problem as before the NTVDM patch? > > No. The message "Load error: can't switch mode" means that the PM entry > point called by the startup code (to switch to protected mode) fails. > This is known to happen after many nested DPMI programs were run in the > same DOS box, and the usual procedure is either restart Make or close and > open the DOS box. > > If restarting doesn't help (you seem to tell it did), we have a new > problem on our hands ;-) > > > make.exe[1]: Entering directory `d:/dj204/gnu/make-3.791' > > Extended Error 183 > > This error message comes from somewhere outside Make and DJGPP in > general. It probably comes from cmd.exe or some such. It is important > to understand what exactly causes it. > > Was the version of make.exe that you run here built with the NTVDM patch > or not? Was it built with CVS or stock v2.03 libc? I re-built make on Sunday with the CVS tarball from the 15th July and added the NTVDM patch that I looked up in the email archive that you sent a few weeks ago. > > Call frame traceback EIPs: > > 0x00020818 _malloc+620 > > Looks like some problem with memory corruption (that's what crashes > inside malloc usually mean). Did you try to do the same with the same > executables on another version of Windows? I don't recall any Make > crashes inside malloc. I used the same version of make and DJGPP on my Win98 box and it worked fine. The only difference is that on the NT box I have DJ204 on D: and on the WIn98 box I have it on C:. I copied all of the DJGPP directory from the Win98 box to the NT box for this test, that way I know that the two exes and setups are almost the same except for the drive that they are on. > > Packages not re-built, but they are installed. > > amake-1.4 autocnf2.13 bash-2.03 bash-2.04 bash-2.05 > > I'd suggest to rebuild at least Bash (the version you use normally), > because building other packages frequently involves Bash called from > Make, or running configure scripts. I used 2.04 for the test and I just tried to re-build it and I could not build it because of _dos_exec defined twice. The problem was that both bash 2.04 (not 2.05) and LIBC both had dosexec.c, but they were different. I have just downloaded Bash 2.05 source from Mark's site (dated 21st July 2001) and have re-built it using the CVS tarball from tthe 15th and the the NTVDM patch without any problems. I replaced Bash 2.03 with the 2.05 on both the Win98 and Win2K boxes and re-run the tests for building Allegro and Make, the results are: 1) Allegro build on Win98 & Win2K both built and demo works okay (no sound due to no DOS sound driver loaded). Win2K required make to be run twice to complete due to expected "Load error: can't switch mode" error. 2) Make build results (both with the same Make & Bash, both built with CVS LIBC & NTVDM patch): WIN 98 - re-built okay WIN 2K - same error I deleted all of the files in the bin directory that I did not re-build yesterday, but this did not help. Any other suggestions? I have download YAMD to see if this can find anything tomorrow night. Regards, Andrew