Avanti Indietro Indice

2. Dove ottenere quello che serve.

2.1 Questo documento.

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]).

2.2 Ulteriore documentazione.

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).

2.3 GCC

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.

2.4 Libreria C e header file

Quello che si desidera a questo punto dipende da due fattori:

  1. se il proprio sistema è ELF oppure a.out
  2. quale dei due si desidera avere.

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:

libc-5.2.18.bin.tar.gz

Immagini di librerie condivise ELF, librerie statiche e file include per le librerie C e matematiche.

libc-5.2.18.tar.gz

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.

libc-4.7.5.bin.tar.gz

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.

2.5 Strumenti associati (as, ld, ar, strings, ecc.)

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.


Avanti Indietro Indice