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.
Capitolo Successivo, Capitolo Precedente
Indice di questo capitolo, Indice generale
Inizio del documento, Inizio di questo Capitolo