|
|
| |
| News Letter |
|
|
 |
Per essere sempre aggiornato! |
|
|
|
|
|
| |
|
| |
| Seguici su Facebook |
|
|
|
|
|
| |
|
| |
|
|
|
|
|
|
|
|
| Categoria: > |
|
|
Linux: Compilare i sorgenti |
| |
| è stato letto: |
1741 volte |
| voto: |
8 / 10 |
| rating: |
 |
|
|
|
|
|
|
|
| tag: |
compilazione, sorgenti, make, configure, install |
|
|
| |
Condividi questo documento su:
|
|
|
| |
Compilare i sorgenti
Info documento Ultimo aggiornamento: 07 Dicembre 2007 Distribuzione di test: Fedora Core 6 Introduzione In questa guida impareremo come installare un applicativo partendo dalla compilazione dei sorgenti. Ma cosa sono questi sorgenti(source)? Open Source significa codice aperto ovvero la possibilità di modificare un software(rispettando le condizioni d'uso) variando parte del codice sorgente tipicamente scritto in C - questo consente quindi di adattare un dato software alle proprio esigenze contribuendo allo stesso tempo anche al miglioramento dello stesso. Il termine compilare significa in parole semplici costruire file binari(eseguibili) partendo dal codice sorgente o codice di programmazione. Dopo aver compilato e quindi creato i nostri file binari i sorgenti possono essere rimossi.
In ambito linux un pacchetto software per poter funzionare potrebbe richiedere la presenza di un'altro, questo viene detto "dipendenza". Un difficoltà nota(per i principianti) nella compilazione dei sorgenti rispetto all'installazione di un pacchetto in formato .rpm, .deb, .pkg o qualsiasi altro pacchetto in formato binario è la risoluzione delle dipendenze. Quando installiamo un pacchetto binario per esempio in formato .rpm il tool di gestione rpm è in grado di segnalarci se mancano altri pacchetti per l'installazione del software da noi desiderato comunicandoci il nome del pacchetto che manca o addirittura scaricarlo in automatico da internet - questo rende il processo di installazione di un software più facile rispetto alla compilazione dei sorgenti.
Dopo questa breve introduzione cerchiamo di capire come compilare un software dopo aver scaricato i sorgenti che solitamente traviamo compressi in formato .tar.gz o tar.bz2 e risolvere le dipendenze.
Prima di tutto dobbiamo accertarci che sul nostro sistema siano presenti i tools di sviluppo software per compilare i sorgenti. Quasi in tutte le distribuzioni questi tools vengono raggruppati all'interno del gruppo Development o Sviluppo software - i principali sono cpp, gcc, gcc-c++, gcc-gfortran, autoconf, automake, make, bison, binutils, flex, patch, tcl, tk, ecc...
Supponiamo di aver scaricato un applicativo in formato sorgente denominato "test.tar.gz" che desideriamo installare sul nostro sistema.
E' buona norma compilare i sorgenti all'interno della directory '/usr/src' ma si è liberi comunque di compilare in qualsiasi parte del filesystem.
Da un terminale eseguiamo il prossimo comando per rendere la shell una shell di login:
# su - Copiamo il file contente i sorgenti su '/usr/src':
# cp test.tar.gz /usr/src Entriamo all'interno della directory '/usr/src':
# cd /usr/src Scompattiamo l'archivio - guida ai file compressi:
# tar xfz test.tar.gz Entriamo all'interno della directory "test":
# cd test Utilizzate il comando 'ls' per verificare se all'interno della suddetta directory sono presenti i file di testo README o INSTALL che di solito riportano la procedura da seguire per la compilazione dei sorgenti e le dipendenze software da soddisfare. Per leggere il contenuto dei file di testo anzidetti utilizzate i comandi 'less' o 'more'.
Per linee generali comunque quasi tutti i sorgenti possono essere compilati con la seguente procedura(vi raccomandiamo sempre di leggere sempre i file reame e install se presenti)
Ci troviamo all'interno della directory '/usr/src/test'
Impostiamo i permessi di esecuzione su tutti i file all'interno della directory per poter rendere eseguibili gli script di configurazione:
# chmod +x * Adesso lanciamo lo script "configure" che troviamo all'interno della directory "test":
# ./configuretale script "configure" è una procedura software scritta dai programmatori che esegue dei check e si occupa di verificare se le dipendenze vengono soddisfatte, se l'ambiente è compatibile ed idoneo prima di avviare la compilazione.
Se dopo aver eseguito il "./configure" qualcosa non va per il verso giusto dovreste interpretare l'errore che vi restituisce lo script - solitamente gli errori più comuni sono spesso causati da una mancanza di una libreria condivisa, o di un pacchetto o dalla versione dei compilatori. Avvolte basta concentrarsi sulle righe che riportano il testo "error" o "missing" per scoprire la soluzione del problema, non preoccupatevi dei "warning". Nel caso in cui non si riesce ad andare avanti con la compilazione vi consigliamo di copiare l'intera riga riportante il codice dell'errore ed incollarlo su un qualsiasi motore di ricerca(Google), possibilmente qualcuno avrà riscontrato lo stesso problema e magari l'ha già risolto.
Spesso gli script "configure" accettano parametri di configurazione che servono per costruire i binari in un determinato modo piuttosto che in un altro. Per verificare quali parametri sono disponibili possiamo lanciare il "configure" nel seguente modo:
# ./configure --help |more Solitamente quando installiamo un software compilandolo tutti i suoi file(binari,librerie,manuali,configurazioni, ecc.) vengono posizionati all'interno della directory '/usr/local'. Se intendiamo comunque forzare il percorso di installazione, lanciamo il "configure" nel seguente modo:
# ./configure --prefix=/usr/local Se tutto è andato avanti senza alcun errore, possiamo finalmente procedere con la creazione vera e propria dei file binari ovvero con la compilazione. Quindi digitiamo il seguente comando:
# makeAlla fine di questa fase tutti i binari sono stati preparati all'interno
della stessa directory pronti per essere successivamente copiati e quindi installati
sul sistema.
Infine, con il seguente comando completiamo l'installazione:
# make installA questo punto tutti i file sono stati installati sul sistema all'interno della directory '/usr/local' pronti per essere eseguiti.
|
|
| |
| |
| |
| Ultimo aggiornamento: 2010-03-19 17:13:03 |
|
| |
| |
| |
| |
|
|
|
|
| |
| |
|
|
|
|
|
|
|
|
|
|