Questo documento fa parte della serie dei Linux HOWTO, pertanto si può ottenere da tutti gli archivi di Linux HOWTO, come http://sunsite.unc.edu/pub/linux/docs/HOWTO/ (le traduzioni italiane sono disponibili presso [2]). La versione HTML in inglese può anche essere trovata (probabilmente leggermente più aggiornata) su http://ftp.linux.org.uk/~barlow/howto/gcc-howto.html (traduzione italiana [3]).
La documentazione ufficiale di gcc si trova nella distribuzione sorgente
(si veda sotto) sotto forma di file texinfo, e come file .info
. Se si
dispone di una connessione di rete veloce, un cd-rom o una buona dose di
pazienza, è possibile eseguirne l'untar
e copiare le parti rilevanti in
/usr/info
. In caso contrario, possono essere trovati presso
ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/, ma non
necessariamente si tratterà della versione più recente.
Esistono due sorgenti di documentazione per libc. La GNU libc contiene dei file info che descrivono piuttosto accuratamente la libc Linux, fatta eccezione per stdio. Inoltre, le pagine di manuale dell'archivio ftp://sunsite.unc.edu/pub/Linux/docs/ sono state scritte per Linux e descrivono numerose chiamate di sistema (sezione 2) e funzioni libc (sezione 3).
La distribuzione ufficiale del GCC Linux può sempre essere trovata in
formato binario (già compilato) all'indirizzo
ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/. Nel momento in cui
viene scritto questo documento, la versione più recente è la 2.7.2
(gcc-2.7.2.bin.tar.gz
).
È possibile ottenere la distribuzione sorgente più recente di GCC fornita
dalla Free Software Foundation dagli archivi
ftp://prep.ai.mit.edu/pub/gnu/. I gestori del GCC Linux hanno reso
molto semplice la compilazione dell'ultima versione - il programma di
configurazione (configure
) dovrebbe impostare tutto da solo. Si
verifichi anche l'eventuale presenza di patch da applicare presso:
ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/.
Per compilare qualcosa di non banale (ma anche alcune cose banali) sarà necessario possedere anche quanto descritto nel paragrafo che segue.
Quello che si desidera a questo punto dipende da due fattori:
Se si sta passando da libc 4 a libc 5, si raccomanda di leggere l' ELF-HOWTO, rintracciabile più o meno nello stesso luogo in cui è stato trovato questo documento (traduzione italiana [1]).
Da ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/ sono disponibili:
Immagini di librerie condivise ELF, librerie statiche e file include per le librerie C e matematiche.
Sorgenti per quanto descritto sopra. Sarà
necessario anche il pacchetto .bin.
per gli header file. Se
si è indecisi tra compilarsi in proprio la
libreria C o utilizzare il formato binario, la scelta migliore consiste
nell'usare il codice già compilato. Nel caso in cui si desideri il supporto
NIS o per le shadow password di dovrà comunque gestirli in prima persona.
Immagini di libreria condivisa a.out
e librerie statiche per la versione 4.7.5 della libreria C e simili.
Questo è stato studiato per coesistere con il pacchetto libc 5 sopra
menzionato, ma è necessario solo se si desidera continuare a
utilizzare o sviluppare programmi in formato a.out.
Si possono trovare su
ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/, come ogni altra
cosa sinora descritta. La versione corrente è
binutils-2.6.0.2.bin.tar.gz
.
Le binutils sono disponibili unicamente in ELF, la versione corrente di libc si trova in ELF ed inoltre è meglio utilizzare la versione a.out di libc in congiunzione con una ELF. Lo sviluppo della libreria C si sta muovendo verso ELF: se non c'è un particolare motivo per l'utilizzo di a.out, si consiglia di fare altrettanto.