Page suivantePage pr�c�denteTable des mati�res

4. Installation comme biblioth�que de test

Cette section couvre l'installation de glibc 2 comme biblioth�que de test. Tout ce que vous compilerez sera li� � vos biblioth�ques existantes sauf si vous donnez des param�tres suppl�mentaires pour les lier aux nouvelles biblioth�ques. Il semble que les chemins d'acc�s soient compil�s dans un certain nombre de fichiers, et vous devrez probablement installer la biblioth�que � partir des sources.

4.1 Compilation et installation

�l�ments requis

Sur un i586 � 133 MHz avec 64 Mo de RAM, il faut environ trois heures pour compiler les biblioth�ques compl�tes avec les extensions. Sur un i686 � 200 MHz charg�, il faut environ une demi-heure.

Extraction des sources

Vous devez extraire les sources des archives pour pouvoir les compiler. La meilleure fa�on de proc�der est de faire ainsi :

 tar xzf glibc-2.0.6.tar.gz
 cd glibc-2.0.6
 tar xzf ../glibc-linuxthreads-2.0.6.tar.gz
 tar xzf ../glibc-crypt-2.0.6.tar.gz
 tar xzf ../glibc-localedata-2.0.6.tar.gz

Ceci mettra les r�pertoires linuxthreads, crypt et localedate dans le r�pertoire glibc-2.0.6 o� configure pourra trouver ces extensions.

Configuration

Dans le r�pertoire glibc-2.0.6, cr�ez un r�pertoire appel� compile, et d�placez-vous dedans. Tout le travail doit �tre effectu� dans ce r�pertoire, ce qui simplifiera le nettoyage (les d�veloppeurs ne se sont pas tr�s occup�s de rendre 'make clean' parfait pour l'instant).

 mkdir compile
 cd compile

Lancez ../configure. Pour utiliser les paquetages d'extension, vous devez les sp�cifier avec --enable-add-ons, comme --enable-add-ons=linuxthreads,crypt,localedata. Vous devez aussi choisir un r�pertoire de destination pour l'installation. /usr/i486-linuxglibc2 est un bon choix. La ligne de commande de configure pour ceci serait :

 ../configure --enable-add-ons=linuxthreads,crypt,localedata --prefix=/usr/i486-linuxglibc2

Compilation et installation

Pour compiler et v�rifier, lancez :

 make
 make check

Si le 'make check' r�ussit, installez la biblioth�que :

 make install

4.2 Mise � jour du chargeur de liens dynamique

  1. Cr�ez un lien � partir du nouvel ld.so vers /lib/ld-linux.so.2 :
     ln -s /usr/i486-linuxglibc2/lib/ld-linux.so.2 /lib/ld-linux.so.2
    
    C'est la seule biblioth�que dont l'emplacement est fix� une fois qu'un programme est li�, et l'utilisation d'un lien dans /lib facilitera le passage � glibc en tant que biblioth�que C principale quand la version stable sortira.
  2. �ditez /etc/ld.so.conf. Vous devez ajouter le chemin vers le r�pertoire lib dans lequel se trouvent les nouvelles biblioth�ques � la fin du fichier, qui sera <pr�fixe>/lib, comme /usr/i486-linuxglibc2/lib dans l'exemple ci-dessus. Apr�s avoir modifi� /etc/ld.so.conf, lancez
     ldconfig -v
    

4.3 Configuration pour gcc

La derni�re �tape de l'installation est la mise � jour de /usr/lib/gcc-lib pour que gcc sache comment utiliser les nouvelles biblioth�ques. D'abord vous devez dupliquer la configuration existante. Pour savoir quelle est la configuration en cours, utilisez l'option -v de gcc :

 % gcc -v
 Reading specs from /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2/specs
 gcc version 2.7.2.2

Dans ce cas, i486-unknown-linux est le syst�me, et 2.7.2.2 est la version. Vous devez copier /usr/lib/gcc-lib/<syst�me> vers le nouveau r�pertoire syst�me de test :

 cd /usr/lib/gcc-lib/
 cp -r i486-unknown-linux i486-linuxglibc2

Allez dans le nouveau r�pertoire syst�me de test et dans le r�pertoire version

 cd /usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2

et �ditez le fichier specs se trouvant dans ce r�pertoire. Dans ce fichier, changez /lib/ld-linux.so.1 en /lib/ld-linux.so.2. Vous devrez aussi enlever toutes les expressions %{...:-lgmon} du fichier, puisque glibc n'utilise pas la biblioth�que gmon pour les optimisations. Vous trouverez un fichier specs d'exemple dans la section Fichiers specs d'exemple.

4.4 Mise � jour des liens des fichiers d'en-t�te

Vous devez cr�er des liens dans votre nouveau r�pertoire d'en-t�tes vers d'autres r�pertoires d'en-t�tes :

 cd /usr/i486-linuxglibc2/include
 ln -s /usr/src/linux/include/linux
 ln -s /usr/src/linux/include/asm
 ln -s /usr/X11R6/include/X11

Vous avez peut-�tre d'autres biblioth�ques comme ncurses qui n�cessitent d'avoir leurs fichiers d'en-t�tes dans ce r�pertoire. Vous devriez copier ou faire un lien vers ces fichiers depuis /usr/include. (Certaines biblioth�ques auront besoin d'�tre recompil�es avec glibc2 pour pouvoir fonctionner avec glibc2. Dans ces cas, compilez simplement et installez les paquetages dans /usr/i486-linuxglibc2.)

4.5 Test de l'installation

Pour tester l'installation, cr�ez le programme suivant dans un fichier appel� glibc.c :

 #include <stdio.h>
 main()
 {
 printf("hello world!\n");
 }

et compilez-le avec les options "-b <r�pertoire d'installation> -nostdinc -I<r�pertoire d'installation>/include -I/usr/lib/gcc-lib/<nouveau syst�me>/<version de gcc>/include" :

 % gcc -b i486-linuxglibc2 -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include glibc.c -o glibc

Utilisez ldd pour v�rifier que le programme a �t� li� avec glibc2, et non avec votre ancienne libc :

 % ldd glibc
 libc.so.6 => /usr/i486-linuxglibc2/lib/libc-2.0.6.so (0x4000d000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

S'il compile, que les liens sont effectu�s et qu'il g�n�re "hello world!" quand vous le lancez, l'installation a fonctionn�.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:14