Node:DOSEmu,
Next:i286,
Previous:WindowsNT,
Up:Requirements
Q: You say it works on Linux, but I seem to be unable to run the
compiler from within Make....
Q: I can run DJGPP on Linux, but Make crashes with SIGFPE on even
the simplest Makefiles!
Q: When I run bash on Linux/DOSEmu, echoing of what I type is very
slow.
A: Versions of Linux which were released before 13 March 1996 need a patch to be able to reliably run nested DJGPP programs. That patch was posted to the DJGPP mailing list and can be found by using the search capabilities of the DJGPP mail archives.
If you prefer to download that patch via ftp, you can find it on the DJGPP ftp server.
In general, upgrading to DOSEmu version 0.97.10 or later is recommended, at least with versions of Linux kernel earlier than 2.1; in particular, some users report that DJGPP programs sometimes crash on version 0.66.7 under Linux 2.0.35.
You might also need to edit the RAM section of the
/etc/dosemu.conf
file to make it comfortable for DJGPP. I
suggest setting dpmi
and xms
to 16MB and ems
to
4MB. For example, I'm told that building the Allegro library with the
-O3
optimization switch fails in DOSEmu unless you allocate at
least 16MB of DPMI memory to DOSEmu sessions, and building GCC needs
18MB.
If DJGPP programs crash with an error message like this4:
DPMI: Unhandled Execption 0d - Terminating Client It is likely that dosemu is unstable now and should be rebooted
then you should add a line saying secure off
to your
/etc/dosemu.conf
file.
Some users reported that Make
, and possibly other programs which
use floating point computations, crash in DOSEmu environment on systems
without an FPU, even if you set the 387 and EMU387
environment variables correctly (as explained in Setting up the FP emulator, below). The
only known work-around is to not use floating point or to upgrade your
machine hardware. DJGPP v2.03 corrected a few subtle bugs in the
emulator code, so upgrading your DJGPP software might help. It is
possible that newer versions of Linux might solve this problem too, so
try upgrading your Linux software.
If your only problem is to run GNU Make, get the latest DJGPP port of Make, since ports of Make 3.75 or later can be configured to not issue FP instructions at all.
If you have problems running recursive Make's, or deeply nested DJGPP
programs, edit src/dosext/dpmi/dpmi.h
to enlarge the value of
DPMI_MAX_CLIENTS
(the default is 8) and then rebuild DOSEmu.
If DJGPP programs respond too slow to keyboard input, you might need to
tune the HogThreshold
parameter in the dosemu.conf
file.
Set it to zero and see if this helps; if so, further tune it until you
get reasonable response time, but still leave Linux with enough cycles
for the other programs that run.
Several users reported that DJGPP programs cannot get input from the
keyboard if Caldera's DR-DOS is booted under DOSEmu. I'm told that
adding rawkeyboard
to dosemu.conf
might solve this.
Some people complain that RHIDE crashes on DOSEmu whenever the
mouse is moved. I'm told that using the -M
switch when invoking
RHIDE solves this problem. Alternatively, you could try giving
DOSEmu access to the serial port to which the mouse is connected, and
then using your DOS mouse driver. To this end, add the following to
your dosemu.conf
5:
serial { mouse com 2 device /dev/mouse } mouse {mousesystems device /dev/mouse emulate3buttons }
and then load a DOS mouse driver in the DOSEmu AUTOEXEC.BAT
.
Note that the example above assumes that the mouse is connected to the
COM2 port; your mileage may vary.
If you have problems with mounting FAT32 partitions, upgrade the Linux kernel to version 2.0.34 or later.
I'm told that the problem with selectors being lost in nested DJGPP programs (see no DPMI selectors) exists in DOSEmu as well.