Anterior Siguiente Indice

2. Compilando e instalando dosemu

2.1 ¿Dónde están las instrucciones sobre la instalación?

Las instrucciones sobre la instalación se pueden encontrar en el archivo "QuickStart", incluido en la distribución.

2.2 Los diez principales problemas durante la compilación einstalación de dosemu.

  1. Olvidar leer el fichero QuickStart.
  2. Intentar compilar con un kernel anterior al 1.1.45.
  3. Tener mal la ubicación del código fuente del kernel de linux, debe estar en /usr/src/linux.
  4. Utilizar dosemu con un kernel que no haya sido compilado con IPC.
  5. Compilar con un gcc anterior al 2.5.8 o una libc anterior a la 4.5.21.
  6. Olvidar editar el fichero /etc/dosemu.conf.
  7. Olvidar ejecutar "FDISK /mbr" en su imagen del disco duro (hdimage).
  8. Correr DOSEMU con acceso a las particiones cuando éstas ya estén montadas.
  9. No instalar dosemu con privilegios suficientes (p.e., root).
  10. Intentar correr DOSEMU en un Proveedor multiusuario de Servicios de Internet bajo linux (Linux Internet Service Provider).

2.3 ¿Cómo puedo crear un ejecutable simple (sin librerías)?

Marty Leisner ( leisner@sdsp.mc.xerox.com) escribía lo siguiente:

Si quiere crear un ejecutable con QMAGIC, defina STATIC en el Makefile. De otra manera habrá una combinación de librería/ejecutable.

2.4 ¿Cómo puedo crear archivos binarios en formato ELF?

Marty Leisner ( leisner@sdsp.mc.xerox.com) escribía lo siguiente:

Si quiere hacer archivos binarios ELF, defina ELF en el "Makefile". Necesitará compilar e instalar las librerías slang de forma separada, Slang trabaja bien como archivo binario compartido en formato ELF.

2.5 ¿Cómo puedo compilar dosemu en una máquina con poca memoria?

Marty Leisner ( leisner@sdsp.mc.xerox.com) escribía lo siguiente:

Si tiene problemas al compilar porque desbordamiento del swap, debe añadir CFLAGS+=-fno-inline después de donde esté definido CFLAGS en dpmi/Makefile. Tenga cuidado antes de hacer esto y compruebe que tenga espacio de swap. Me he dado cuenta de que Linux suele fallar cuando no posee suficiente espacio de swap.

2.6 ¿Cómo puedo acelerar la compilación?

Marty Leisner ( leisner@sdsp.mc.xerox.com) escribía lo siguiente:

La optimización predeterminada es -O2. Puede editar el fichero Makefile para usar -O (compilará un poco más rápido/lento).

2.7 ¿Cómo puedo compilar de forma no interactiva?

Marty Leisner ( leisner@sdsp.mc.xerox.com) escribía lo siguiente:

Si define do_DEBUG en el Makefile, obtendrá un make -Wall -g, sin-tex y de forma no interactiva.

2.8 Más trucos de compilación de Marty...

Marty Leisner ( leisner@sdsp.mc.xerox.com) escribía lo siguiente:

Necesita haber compilado el kernel en su sistema para obtener la versión actual. Si no es así, debe modificar a mano la variable KERNEL_VERSION en nivel más alto del Makefile. El número es de la forma "nmmmppp", donde "n" es la versión, "mmm" es la versión menor, y "ppp" es el nivel del patch (patchlevel). Por ejemplo, el kernel 1.1.88 se corresponde con "1001088" y el kernel 1.2.1 con "1002001".

Realice todos los makes desde el nivel más alto (directorio inicial) para obtener mejores resultados. Desde éste, teclee "make subdirectory" para compilar el subdirectorio. Cada directorio (y el inicial), tienen entradas "clean" y "realclean". "clean" borrará los objetos (*.o), "realclean" también eliminará las dependencias y otros ficheros.

2.9 ¿Es necesario compilar dosemu como root?

No. Aunque deberá instalarlo como root.

Marty Leisner Marty Leisner ( leisner@sdsp.mc.xerox.com) añade:

A la hora de acceder a los puertos de entrada/salida (incluyendo a la consola) dosemu necesita ser ejecutado siendo root. Ejecutar dosemu en un xterm o en X Window y necesitando ahora acceso directo al hardware le permite ejecutarlo como usuario. Se trabajará en las complicaciones de seguridad/identidad (security/setuid) en las versiones de desarrollo.

2.10 El Makefile está en un bucle infinito...

James B. MacLean ( jmaclean@fox.nstn.ns.ca) escribía (4/12/95) lo siguiente:

Nos hemos encontrado con esto en ciertas ocasiones, normalmente cuando la fecha de algún fichero tenga algo que ver. Algunas personas lo arreglan con una versión más nueva del kernel, mientras que otros (incluido yo) hacen un "make realclean" y después un "make most".


Anterior Siguiente Indice