Previous Next Contents

2. Compiling and installing dosemu

2.1 Where are the installation instructions?

The installation instructions are in the file, "QuickStart", included in the distribution.

2.2 Top ten problems while compiling and installing dosemu.

(4/8/95)

1. Forgetting to read the QuickStart Guide.

2. Try to compile with a kernel older than 1.1.45.

3. Having the wrong linux kernel source sitting in /usr/src/linux

4. Use dosemu with a kernel that does not have IPC compiled in.

5. Compile with gcc older than 2.5.8 or libc older than 4.5.21.

6. Forget to edit your /etc/dosemu.conf file.

7. Forget to run "FDISK /mbr" on your hdimage.

8. Run DOSEMU with partition access while they are already mounted.

9. Don't install dosemu with sufficient privileges (i.e., root).

10. Try to run DOSEMU on a multi-user linux Internet Service Provider.

2.3 How can I build a single (non-library) executable?

Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that

If you want to build one executable with QMAGIC, define STATIC in the makefile. Otherwise there's a library/executable combination.

2.4 How do I make ELF binaries?

Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that

If you want to make ELF binaries, define ELF in the "Makefile". You need to make and install the slang library separately. Slang works well as a shared ELF library.

2.5 How do I compile dosemu on a machine with low memory?

Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that

If you have problems with running out of swap space you may want to add CFLAGS+=-fno-inline after CFLAGS is defined in dpmi/Makefile. Be careful before you do this and check for the existence of swap space. I found Linux crashes a times when it has no swap space.

2.6 How can I speed up compilation?

Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that

The default optimization is -O2. You may want edit the makefile to use -O (compiled somewhat faster/smaller).

2.7 How can I compile non-interactively?

Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that

If you define do_DEBUG in the makefile, you'll get -Wall -g and a non-tex, non-interactive make.

2.8 More compilation tips from Marty...

Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that

You need to have build the kernel on your system to get the current version. If not, you may want to hand modify KERNEL_VERSION in the top level Makefile. The number is of the form, "nmmmppp", where "n" is the version, "mmm" is the minor version, and "ppp" is the patchlevel. For example, kernel 1.1.88 corresponds to "1001088" and kernel 1.2.1 to "1002001".

Begin all makes at the top level for best results. At the top level, entering "make subdirectory" will make the subdirectory. Each directory (and the top), has targets "clean" and "realclean". "clean" will remove the objects, "realclean" will also remove dependencies and other files.

2.9 Do I need to compile dosemu as root?

(4/8/95)

No. You must install it as root, though.

Marty Leisner (leisner@sdsp.mc.xerox.com) adds

In order to access I/O ports (including the console) dosemu needs to run as root. Running dosemu on an xterm or in X windows and requiring now direct hardware access allows you to run dosemu as a user. The security/setuid implications will be worked on in development releases.

2.10 The makefile is in an infinite loop...

James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (4/12/95) that

We have seen these at certain times, usually when a timestamp plays an issue. Some people fix it by upgrading their kernel, while others (myself included) just "make realclean" then "make most".


Previous Next Contents