[an error occurred while processing this directive]
Node:Programs hang,
Next:No DPMI,
Previous:Trouble,
Up:Trouble
Q: When I try to compile anything, GCC just hangs!
Q: Some programs, like Info and Less, hang on my Windows 9X machine
after some time, requiring to close the DOS box. Help!!
Q: Bash hangs on Windows 9X after the first DJGPP program I run from
it!
A: If you are using GCC 2.8.1, and if only GCC hangs, then chances
are that you have set the DJGPP
environment variable incorrectly,
or didn't set it at all, or messed up your DJGPP.ENV
file by
editing it. Refer to what to do if GCC hangs, later in this FAQ, for
details about possible problems with setting DJGPP
. When
DJGPP
is not set, or points to a non-existent directory, the
first release of GCC 2.8.1 would enter an endless loop (the NTDVM
process on Windows/NT will go nuts allocating memory, as a result of
this).
The latest uploads of the GCC binary (v2gnu/gccNNNb.zip
) were
modified to prevent them from hanging. They abort with an error message
instead of hanging. You should upgrade to the latest binaries of GCC,
and also set your DJGPP
variable correctly.
Some people fail to read the release notes which come with GCC, and do
not install it incorrectly. If you installed GCC recently and it began
to hang, now is the time to read those instructions again (they are
installed as gnu/gcc-X.YZ/problems.txt
).
If interactive programs like Bash, Less, Info, Emacs, and RHIDE are
those which hang, and if it only happens on Windows 9X after running
another DJGPP program from within those programs, then your Windows 9X
installation is afflicted by a subtle bug whereby programs which call
function 1680h of the Interrupt 2Fh (to release the rest of their time
slice when they are idle) hang after they spawn another DJGPP program.
A modified version of the library function __dpmi_yield
, which
works around that bug in Windows, is available in DJGPP v2.02 and later,
and latest uploads of the binaries for the affected programs should be
free from this problem. If you cannot find a pre-compiled binary that
works, get the sources and rebuild the program with the latest DJGPP
release.