Date: Thu, 4 Mar 1999 12:09:22 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Richard Dawe cc: djgpp-workers AT delorie DOT com Subject: Re: Perl 5.004/5.005 compilation problems In-Reply-To: <36DD9A38.8A754FF4@meridian22.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com On Wed, 3 Mar 1999, Richard Dawe wrote: > Under DOS with doskey running I got the following error: > > Invalid opcode in RMCB at eip=3f000, flags=3086 > ... ... ... error=0006 > Stack fault in RMCB at eip=3f03a, flags=3097 > ... ... ... error=0000 Is this with go32-v2 from djdev202.zip? If so, it probably means some very deep stack overflow in the program that runs when this happens. What exactly gets executed when it crashes like this? > It got as far as making a suggestion for "What > optimizer/debugger flags should be used?" and then crashed as per usual. ``Per usual''--how? Again with invalid opcode in RMCB etc.? > One thing I noticed while running it under DOS was that it was detecting > Win95's find & sort commands because c:\windows\command was in my path before > e:\djgpp\bin. Will this make any difference? Of course it will! Please make sure DJGPP's bin subdirectory is first on your PATH. > Also, I have Activeware's Win32 Perl installed, and the Configure script > detected it. Will this make any difference? Probably. Remove that perl from the PATH or rename the binary, to be on the safe side. > Here's the diff: It is much better to use "diff -c", it gives some content to go with the changes. > 126,128c126,128 > < if (PATH=.; alias -x) >/dev/null 2>&1; then > < inksh=true > < fi I think I know what happens here. The ported Bash runs parenthesized commands in the same process (because there's no fork), so any changes done there propagate into the script. Replace (foo) > /dev/null with `foo > /dev/null`, and it should work. Laszlo, how does this work for you? (I haven't myself built this version of Perl yet.) > --- > > #if (PATH=.; alias -x) >/dev/null 2>&1; then > > # inksh=true > > #fi > 3013,3023c3013,3023 > < if test -f /venix; then > < echo "Actually, this looks more like a VENIX system..." > < echo exit 0 >venix > < else > < echo " " > < if ./xenix; then > < : null > < else > < echo "Nor is it Venix..." > < fi > < fi I don't see anything bad here. Which line exactly crashes?