Il y a des fois o� vous voudrez utiliser une biblioth�que diff�rente pour compiler vos programmes. Cette section explique comment faire, en utilisant les noms de r�pertoires et d'installation utilis�s dans les exemples des deux sections pr�c�dentes. Souvenez-vous de changer les noms pour coller � votre configuration.
Avant de compiler un programme utilis� dans le processus de d�marrage,
rappelez-vous que si le programme est li� dynamiquement, et est
utilis� avant que les partitions non-racines soient mont�es, toutes
les biblioth�ques li�es doivent �tre sur la partition racine. En
suivant la proc�dure d'installation de la section pr�c�dente pour
installer glibc comme biblioth�que C principale, la vieille libc reste
dans /lib
, qui sera sur votre partition racine. Ceci veut
dire que tous vos programmes fonctionneront encore lors du
d�marrage. Cependant, si /usr
est sur une partition
diff�rente et que vous installez glibc comme biblioth�que de test dans
/usr/i486-linuxglibc2
, tous les nouveaux programmes que vous
compilerez avec glibc ne fonctionneront pas tant que la partition
/usr
ne sera pas mont�e.
Pour compiler un programme avec glibc en installation de test, vous
devez mettre � z�ro les chemins d'en-t�te pour qu'ils pointent vers
les en-t�tes glibc. En sp�cifiant "-nostdinc", vous
annulerez les chemins normaux, et
"-I/usr/i486-linuxglibc2/include" pointera vers les
ent�tes de glibc. Vous devrez aussi sp�cifier les en-t�tes gcc, que
l'on trouve dans
/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include
(en
supposant que vous ayez install� la biblioth�que de test dans
i486-linuxglibc2 avec gcc version 2.7.2.2).
Pour lier un programme � une glibc de test, vous devez sp�cifier la configuration gcc. Vous le faites avec l'option "-b i486-linuxglibc2".
Pour la plupart des programmes, vous pouvez sp�cifier ces nouvelles
options en les ajoutant aux options de makefile
$CFLAGS
et $LDFLAGS
:
CFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include -b i486-linuxglibc2
LDFLAGS = -b i486-linuxglibc2
Si vous utilisez un script configure, d�finissez les variables shell
$CFLAGS
et $LDFLAGS
(en utilisant
env/setenv pour csh/tcsh ou set/export pour sh/bash/etc) avant de
lancer configure. Les makefiles g�n�r�s par celui-ci devraient
contenir les variables $CFLAGS
et
$LDFLAGS
correctes. Tous les scripts configure ne
tiendront pas compte des variables, et par cons�quent vous devriez
v�rifier apr�s avoir lanc� configure et �diter les makefiles � la main
si n�cessaire.
Si les programmes que vous compilez n'appellent que gcc (et pas cpp ou les binutils directement), vous pouvez utiliser le script suivant pour �conomiser la sp�cification des options � chaque fois :
#!/bin/bash
/usr/bin/gcc -b i486-linuxglibc2 -nostdinc \
-I/usr/i486-linuxglibc2/include \
-I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include "$@"
Vous pourrez alors utiliser ce script � la place de "gcc" pour compiler.
Pour compiler un programme avec vos anciennes biblioth�ques quand vous avez install� glibc comme biblioth�que principale, vous devez mettre � z�ro les chemins d'en-t�tes vers les anciennes en-t�tes. En sp�cifiant "-nostdinc", vous annulerez les chemins normaux et "-I/usr/i486-linuxlibc5/include" pointera vers les en-t�tes libc 5. Vous devez aussi indiquer "-I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include" pour inclure les en-t�tes sp�cifiques � gcc. Rappelez-vous d'ajuster ces chemins selon la mani�re dont vous avez nomm� les nouveaux r�pertoires et selon votre version de gcc.
Pour lier un programme � votre ancienne libc, vous devez sp�cifier la configuration de gcc. Vous le faites en utilisant l'option "-b i486-linuxlibc5".
Pour la plupart des programmes, vous pouvez indiquer ces nouvelles
options en les ajoutant aux options de makefile
$CFLAGS
et $LDFLAGS
:
CFLAGS = -nostdinc -I/usr/i486-linuxlibc5/include -I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include -b i486-linuxlibc5
LDFLAGS = -b i486-linuxlibc5
Si vous utilisez un script configure, d�finissez les variables shell
$CFLAGS
et $LDFLAGS
(en utilisant
env/setenv pour csh/tcsh, ou set/export pour sh/bash/etc) avant de
lancer configure. Les makefiles g�n�r�s par celui-ci devraient
contenir les variables $CFLAGS
et
$LDFLAGS
corrects. Tous les scripts configure ne
verront pas les variables, et vous devriez donc v�rifier apr�s avoir
lanc� configure et �diter les makefiles si n�cessaire.
Si les programmes que vous compilez n'appellent que gcc (et pas cpp ou binutils directement), vous pouvez utiliser le script suivant pour �viter de devoir indiquer toutes les options � chaque fois :
#!/bin/bash
/usr/bin/gcc -b i486-linuxlibc5 -nostdinc \
-I/usr/i486-linuxlibc5/include \
-I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include "$@"
Vous pouvez alors utiliser ce script � la place de "gcc" pour la compilation.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:14