Date: Mon, 23 Dec 1996 19:23:04 +0200 (IST) From: Eli Zaretskii To: Jerzy Witkowski cc: djgpp AT delorie DOT com, Charles Sandmann Subject: Re: Problem with DJGPP programs in bash In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On 23 Dec 1996, Jerzy Witkowski wrote: > I'm using bash for DOS as my standard shell (no COMMAND.COM > anymore! :-). However I have some problems with executing DJGPP > 2.00 compiled programs. Is it indeed v2.0 or v2.01? If it's v2.0, please upgrade to v2.01. Since `bash' was compiled with v2.01, you will see incompatibilities between these two versions in code that spawns child programs and the startup code (in the child). > First, normal DJGPP compilation (`gcc prog.c -o prog' or simply > `make prog') leaves two executable files: `prog' and `prog.exe'. > Then if I type `prog' the following will appear: > > go32/v1: cannot find v1's go32.exe This doesn't happen for me. If you indeed are using v2.0, then I guess what happens here is this: `bash' first finds the unstabbed COFF image named `prog'. To run it, it calls go32-v2 (since it doesn't know how to load unstabbed COFF). But go32-v2 from v2.0 is buggy and erroneously thinks that `prog' is a v1 COFF image, so it looks for v1's go32.exe to help it out (which you probably don't have). This problem will go away when you upgrade to v2.01, where go32-v2 got a big overhaul. > Second, the computer hangs sometimes. This usually happens when I > execute `go32-v2 prog ; go32-v2' two or more times. Confirmed. This indeed happens for me also when I run COFF image with go32-v2. Since this never happens from COMMAND.COM, I guess it's some problem with go32-v2 not cleaning up correctly after the child exits. In one of my tests I got this message (from CWSDPMI, I guess): Invalid TSS in RMCB at eip=3364, flags=3002 eax=000a0001 ebx=000020d4 ecx=00000000 edx=00000020 esi=00b088a edi=000030d8 ebp=000a7c58 esp=00003024 cs=e7 ds=3b es=33 fs=33 gs=eb ss=33 error=00e4 Charles? Btw, the crashes never happened under QDPMI, although that doesn't mean it's CWSDPMI's fault. > Third problem shows when I try to execute DOS `.bat' file, > especially the one which add new variables to DOS environment > (`out of environment space' message). I tried to fix it with > `export COMSPEC="c:\command.com /e:2048"', but it doesn't work. For the environment problem, you will need to call a batch file indirectly through another batch file which calls COMMAND.COM with /e: switch. For any other problems in running batch files, please post the batch file and the error message(s) you get when trying to run it. > Any suggestions? Upgrade to v2.01 and get the latest bash version.