<HTML> <HEAD> <TITLE>Compiler et installer <CODE>dosemu</CODE></TITLE> </HEAD> <BODY> <H1>2. <A NAME="s2"></A>Compiler et installer <CODE>dosemu</CODE></H1> <P> <A HREF="DOSEMU-HOWTO.html#toc2">Contenu de cette section</A></P> <H2>2.1 <A NAME="ss2.1"></A> Où sont les instructions d'installation?</H2> <P>Les instructions d'installation sont dans le fichier <CODE>QuickStart</CODE> présent dans la distribution.</P> <P></P> <H2>2.2 <A NAME="ss2.2"></A> Les 10 Erreurs Stupides les plus courantes à l'installation</H2> <P>(08/04/95)</P> <P> <OL> <LI>Oublier de lire le QuickStart Guide;</LI> <LI>Essayer de compiler avec un noyau postérieur au 1.1.45;</LI> <LI>Ne pas avoir les sources du bon noyau dans <CODE>/usr/src/linux</CODE>;</LI> <LI>Utiliser <CODE>dosemu</CODE> avec un noyau n'ayant pas le support pour les IPC;</LI> <LI>Compiler avec un gcc antérieur à 2.5.8 ou une libc antérieure à 4.5.21;</LI> <LI>Oublier d'éditer le fichier <CODE>/etc/dosemu.conf</CODE>;</LI> <LI>Oublier de lancer "<CODE>FDISK /mbr</CODE>" sur son hdimage;</LI> <LI>Lancer DOSEMU avec un accès partition lorsque ces partitions sont déjà montées;</LI> <LI>Ne pas compiler <CODE>dosemu</CODE> avec suffisamment de privilèges (root).</LI> <LI>Essayer de lancer DOSEMU sur le système multi-utilisateurs d'un fournisseur de connectivité IP.</LI> </OL> </P> <P></P> <H2>2.3 <A NAME="ss2.3"></A> Comment créer un exécutable simple (pas de librairie)~?</H2> <P>Marty Leisner (<CODE>leisner@sdsp.mc.xerox.com</CODE>, 08/04/95</P> <P>Si vous voulez un exécutable QMAGIC, il faut définir <CODE>STATIC</CODE> dans le <CODE>Makefile</CODE>; sinon il y aura une combinaison librairie/exécutable.</P> <P></P> <H2>2.4 <A NAME="ss2.4"></A> Comment créer des binaires ELF~?</H2> <P>Marty Leisner (<CODE>leisner@sdsp.mc.xerox.com</CODE>, 08/04/95</P> <P>Pour créer un binaire ELF, définir <CODE>ELF</CODE> dans le <CODE>Makefile</CODE>. Compiler et installer la librairie <CODE>slang</CODE> séparément. <CODE>slang</CODE> fonctionne très bien en librairie ELF partagée.</P> <P></P> <H2>2.5 <A NAME="ss2.5"></A> Comment compiler dosemu sur une machine ayant peu de mémoire~?</H2> <P>Marty Leisner (<CODE>leisner@sdsp.mc.xerox.com</CODE>, 08/04/95</P> <P>Si vous êtes à court de place dans le swap, vous pouvez ajouter la ligne <BLOCKQUOTE><CODE> <PRE> CFLAGS+=-fno-inline </PRE> </CODE></BLOCKQUOTE> apres la definition de <CODE>CFLAGS</CODE> dans <CODE>dpmi/Makefile</CODE>. Attention a bien verifier que vous avez active votre swap: j'ai deja experimente des plantages quand Linux manque de swap.</P> <P></P> <H2>2.6 <A NAME="ss2.6"></A> Comment accelerer la compilation_?</H2> <P>Marty Leisner (<CODE>leisner@sdsp.mc.xerox.com</CODE>, 08/04/95</P> <P>L'optimisation par defaut est <CODE>-O2</CODE>. Il suffit de changer le <CODE>Makefile</CODE> afin d'utiliser <CODE>-O</CODE> (compilation un peu plus rapide, executable legerement plus petit).</P> <P></P> <H2>2.7 <A NAME="ss2.7"></A> Comment compiler de maniere non-interactive_?</H2> <P>En definissant <CODE>do_DEBUG</CODE> dans le <CODE>Makefile</CODE>, vous aurez <CODE>-Wall -g</CODE>, une compilation non-interactive et sans tex.</P> <P></P> <H2>2.8 <A NAME="ss2.8"></A> Autres astuces de compilation de Marty ...</H2> <P>Il faut avoir compile le noyau sur son propre systeme pour avoir la version courante. Sinon, il faut modifier a la main <CODE>KERNEL_VERSION</CODE> dans le <CODE>Makefile</CODE> racine. Le nombre est de la forme <CODE>nmmmppp</CODE>, ou <CODE>n</CODE> est le numero de version, <CODE>mmm</CODE> est le numero mineur de version, et <CODE>ppp</CODE> le numero de patch. Par exemple, le noyau 1.1.88 correspond a "1001088" et le noyau 1.2.1 a "1002001".</P> <P>Commencer toutes les compilations a partir du repertoire racine des sources. Dans ce repertoire, "<CODE>make sous-repertoire</CODE>" lancera <CODE>make</CODE> dans <CODE>sous-repertoire</CODE>. Chaque repertoire possede les cibles habituelles <CODE>clean</CODE> et <CODE>realclean</CODE>. <CODE>clean</CODE> efface les fichiers objets, <CODE>realclean</CODE> efface egalement les fichiers de dependance et quelques autres fichiers.</P> <P></P> <H2>2.9 <A NAME="ss2.9"></A> Faut-il compiler dosemu sous l'identite "root"_?</H2> <P>08/04/95</P> <P>Non. Il faut l'installer sous l'identite "root", cependant.</P> <P></P> <P>Marty Leisner (<CODE>leisner@sdsp.mc.xerox.com</CODE>) ajoute_:</P> <P>Afin d'acceder aux ports E/S (y compris la console), <CODE>dosemu</CODE> a besoin de tourner avec l'identite "root". Lancer <CODE>dosemu</CODE> dans un <CODE>xterm</CODE> ou une fenetre X et demander ensuite l'acces direct au materiel vous permet de tourner <CODE>dosemu</CODE> sous une identite utilisateur. Les implications de securite / setuid seront etudiees dans les versions de developpement.</P> <P></P> <H2>2.10 <A NAME="ss2.10"></A> Le Makefile est dans une boucle infinie ...</H2> <P>James B. MacLean (<CODE>jmaclean@fox.nstn.ns.ca</CODE>), 12/04/95</P> <P>Nous avons quelquefois remarque ceci, generalement lorsque la date d'un fichier est importante. Quelques personnes resolvent le probleme en mettant a jour leur noyau, d'autres (dont moi) en lancant les commandes_: <BLOCKQUOTE><CODE> <PRE> make realclean make most </PRE> </CODE></BLOCKQUOTE> </P> <P></P> <HR> <P> Chapitre <A HREF="DOSEMU-HOWTO-3.html">suivant</A>, Chapitre <A HREF="DOSEMU-HOWTO-1.html">Précédent</A> <P> Table des matières de <A HREF="DOSEMU-HOWTO.html#toc2">ce chapitre</A>, <A HREF="DOSEMU-HOWTO.html#toc">Table des matières</A> générale</P> <P> <A HREF="DOSEMU-HOWTO.html">Début</A> du document, <A HREF="#0"> Début de ce chapitre</A></P> </BODY> </HTML>