A questo punto della procedura, è possibile fermarsi, se si vuole. Abbiamo installato tutto quello che è necessario per compilare e far girare i programmi in ELF.
Si può voler ricostruire alcuni programmi in ELF, sia per scopi di `pulizia' sia per minimizzare l'uso della memoria. per la maggior parte delle applicazioni end-user (cioè per l'utente finale), questo è molto semplice; alcuni pacchetti tuttavia assumono troppe informazioni riguardo al sistema su cui girano, e possono fallire a causa di uno o più di questi motivi:
_ , mentre in un eseguibile ELF no. Questo non fà
differenza fino a che non si integra codice assembler scritto a mano:
tutte le labels della forma _foo, devono essere tradotte in
foo o (se si vuole fare codice portatile) in EXTERNAL(foo)
dove EXTERNAL è una qualche macro che ritorna il suo argomento
(se __ELF è definito) oppure _ concatenato con il suo
argomento se non è così.
Adogni modo, ecco due liste: la prima è di programmi che hanno bisogno di cambiamenti per l'ELF, dove i cambiamenti sono già stati fatti (cioè avete bisogno di nuove versioni per compilarle come ELF), e la seconda è di programmi che ancora hanno bisogno di patch da terze parti.
/dev/zero, poichè questo device
è necessario per le operazioni di tutti i programmi in ELF.
Si controlli il pacchetto util-linux per una versione corretta.
ftp.metronet.com oppure da ftp.wpi.edu
cal in util-linux 2.2 non funziona.
Si faccia un upgrade alla
versione 2.4 o successiva.
ftp a ftp.xfree86.org,
e dopo aver letto il messaggio `too many users' che è praticamente sicuro
otterrete, e trovate il mirror più vicino a voi. Una volta ottenuto
il contenuto delle directory common e elf, si deve modificare
/usr/X11R6/lib/X11/config/linux.cf per cambiare le linee che dicono
#define LinuxElfDefault NO
#define UseElfFormat NO
in modo da dire YES invece. In caso contrario una costruzione di
xpm tenterà di fare le cose sbagliate con jumpas
e le relative reliquie del passato
libXpm.so.4.5. La correzione abbastanza semplice è di editarlo con
cura con Emacs o con un altro editor che gestisce correttamente i file
binari. Dopo aver trovato le occorrenze della stringa
libXpm.so.4.5^@ (dove ^@ è un carattere NUL --- ASCII zero ---),
cancellare .5 e aggiungere due caratteri dopo il NUL per evitare
il cambiamento della lunghezza del file.
make config
per permettere di costruirlo usando i tool dell'ELF.
Se si sta usando la serie 1.2, avete due possibilità:
CC e LD in modo che appaiano come
LD =ld -m i386linux
CC =gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
In alternativa,
ps (procps-0.97) Il programma psupdate
ha bisogno di un patch per lavorare se si è compilato il kernel in ELF.
Questo è disponibile in
linux.nrao.edu:/pub/people/juphoff/procps,
sia come patch a vanilla 0.97 e sia come intero file di tar. Una nuova
versione di procps dovrebbe essere distribuita presto con il patch
già a posto, così se si potrà trovare procps 0.98 nel momento in cui
leggerete questo, allora questo patch sarà probabilmente obsoleto.