Au stade où nous en sommes, vous pouvez considérer que l'opération est terminée, et ranger ce document. Vous avez installé tout le nécessaire pour la compilation et l'exécution de programmes ELF.
Vous aurez sûrement envie de recompiler certaines applications en ELF, soit pour la beauté de la chose, soit pour minimiser l'utilisation de la mémoire. Pour la plupart des programmes courants, il n'y a aucun problème, tout se passe naturellement. Toutefois, certains programmes descendent un peu trop bas dans le système, et leur compilation peut échouer pour l'une (ou plusieurs) des raisons suivantes :
_
" (souligné) ; alors que ce n'est pas le cas
dans le format ELF. Cela ne fait aucune différence, jusqu'à ce que
vous intégriez du code assembleur. Toutes les étiquettes de la forme
_toto
devront être traduites en toto
, ou encore
(si vous désirez un peu de portabilité), EXTERNE(toto)
, où
EXTERNE
sera une macro qui retournera soit son argument si
ELF
est défini, soit "_
" suivi de cet argument
dans le cas contraire.
Quoi qu'il en soit, voici deux listes : la première recense les programmes qui demandent une modification pour compiler en ELF, mais dans lesquels ce travail a été effectué (vous devrez donc vous procurer la nouvelle version pour les compiler en ELF), et la seconde est une liste de programmes qui nécessitent toujours des patches externes.
/dev/zero
,
c'est une très mauvaise nouvelle pour vous, car ce périphérique
est indispensable au fonctionnement de tous les programmes ELF.
Récupérez une version correcte de MAKEDEV
dans les paquetages
util-linux
.
a
à e
compilera sans modification sur un
système ELF, avec le support du chargement dynamique. Les patches sont
disponibles sur les sites
ftp.metronet.com
ou ftp.wpi.edu
.
cal
du paquetage util-linux 2.2
ne fonctionne pas. Faites une mise à jour pour la version 2.4
ou supérieure.a.out
et ELF.
Elle est maintenant disponible sur tous les sites miroirs Linux,
et fonctionne à merveille. Une fois le contenu des répertoires
common
et elf
installé, il vous faut éditer le fichier
/usr/X11R6/lib/X11/config/linux.cf
pour changer les lignes
indiquant :
#define LinuxElfDefault NO
#define UseElfFormat NO
Afin de remplacer NO par YES. Sinon, une compilation xpm tentera d'
utiliser l'ancien système jumpas
.
libXpm.so.4.5
est introuvable. Il suffit, pour tricher,
d'éditer soigneusement à l'aide de Emacs (ou un éditeur binaire), ce
programme Mosaic. Remplacez toutes les occurences de la chaîne
"/libXpm.so.4.5ˆ@
" (ou ˆ@
représente le caractère
ascii zéro, NUL), supprimez le .5
et ajoutez deux autres caractères
après le NUL pour ne pas changer la taille du fichier.
a.out
. Il suffit de changer les définitions de CC
et
LD
:
LD =ld -m i386linux
CC =gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
Ou alors,
ps
(procps-0.97). Le programme psupdate
nécessite une modification pour fonctionner si vous avez compilé votre
noyau en ELF. Vous pouvez vous procurer le patch, ou la nouvelle
archive toute prête, au complet. La version 0.98 devrait contenir
cette modification, aussi si à l'heure ou vous lisez ces lignes, elle
est disponible, vous n'aurez rien à faire.
linux.nrao.edu:/pub/people/juphoff/procps
Chapitre Suivant , Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre