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.
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.
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.
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
Pour compiler et v�rifier, lancez :
make
make check
Si le 'make check' r�ussit, installez la biblioth�que :
make install
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.
/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
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.
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
.)
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�.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:14