delorie.com is funded by banner ads.
  www.delorie.com/djgpp/v2faq/faq007.html   search  

| Previous | Next | Up | Top |

3.4 Can it run under Linux?

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.

If DJGPP programs crash with an error message like this(Note: The typo in the word Exception is in the actual message popped by Linux.):

     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. 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 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 OpendDOS 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(Note: This was reported for DOSEmu version 0.66.7; the format of dosemu.conf might be different in version 0.9x.):

      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.

If you have problems with mounting FAT32 partitions, upgrade the Linux kernel to version 2.0.34 or later.


  webmaster   donations   bookstore     delorie software   privacy  
  Copyright ⌐ 1998   by Eli Zaretskii     Updated Sep 1998  

Powered by Apache!

You can help support this site by visiting the advertisers that sponsor it! (only once each, though)