Dimensione: 8374
Commento: Importata da wilecoyote/provawcdasorgcmake2
|
Dimensione: 11150
Commento: nuovo stile note/avvisi/suggerimenti
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 5: | Linea 5: |
<<Informazioni(forum=''http://forum.ubuntu-it.org/viewtopic.php?f=46&t=614576''; rilasci="16.04 14.04")>> | <<Informazioni(forum=''http://forum.ubuntu-it.org/viewtopic.php?f=46&t=614576''; rilasci="18.04 16.04 14.04")>> |
Linea 13: | Linea 13: |
<<Anchor(preparativi)>> | |
Linea 15: | Linea 16: |
* [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://build-essential | build-essential]]. * Per programmi basati su '''[[https://it.wikipedia.org/wiki/KDE|KDE]]''' o '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]]''', [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://cmake |cmake]]. * [[AmministrazioneSistema/FormatiDiCompressione#decomprimere|Estrarre]] il pacchetto dei sorgenti nella propria '''Home'''. |
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://build-essential | build-essential]]. * Per programmi basati su '''[[https://it.wikipedia.org/wiki/KDE|KDE]]''' o '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]]''', [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://cmake |cmake]]. 0. [[AmministrazioneSistema/FormatiDiCompressione#decomprimere|Estrarre]] il pacchetto dei sorgenti nella propria '''Home'''. 0. Se si desidera utilizzare il metodo che scarica e installa in automatico le dipendenze di configurazione, occorre installare il pacchetto [[apt://auto-apt|auto-apt]] (opzionale). * Dopo l'installazione è necessario eseguire la configurazione, per farla aprire il [[AmministrazioneSistema/Terminale|terminale]] e digitare i seguenti comandi:{{{ sudo auto-apt update sudo auto-apt updatedb sudo auto-apt update-local }}} Essa richiederà un pò di tempo per completarsi. |
Linea 19: | Linea 27: |
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Per mantenere ordinata la propria '''Home''' è consigliabile creare una sottocartella specifica per le compilazioni. || | {{{#!wiki tip Per mantenere ordinata la propria '''Home''' è consigliabile creare una sottocartella specifica per le compilazioni.}}} |
Linea 23: | Linea 32: |
Il '''makefile''' è un file speciale il cui contenuto dipende dalla configurazione specifica del sistema in cui si intende installare il programma. Proprio per questo motivo, tale file non può essere distribuito insieme ai sorgenti ma va generato direttamente sul sistema di destinazione. | Il '''makefile''' è un file il cui contenuto dipende dalla configurazione del sistema in cui si intende installare il programma. Proprio per questo motivo, tale file non può essere distribuito insieme ai sorgenti ma va generato direttamente sul sistema di destinazione. |
Linea 29: | Linea 38: |
0. Aprire il [[AmministrazioneSistema/RigaDiComando|terminale]] e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:{{{ | 0. Aprire il [[AmministrazioneSistema/Terminale|terminale]] e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:{{{ |
Linea 32: | Linea 41: |
0. Avviare lo [[Programmazione/LinguaggioBash|script]] di configurazione digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ | 0. Dare i [[AmministrazioneSistema/PermessiFile#Assegnare_i_permessi_di_esecuzione|permessi d'esecuzione]] allo script di configurazione digitando il seguente comando:{{{ chmod +x configure }}} 0. Avviare lo [[Programmazione/LinguaggioBash|script]] di configurazione digitando il seguente comando:{{{ |
Linea 35: | Linea 47: |
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Per ottenere un elenco delle opzioni messe a disposizione dallo script digitare l'opzione ''-h''. || ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Se la generazione del '''makefile''' dovesse interrompersi a causa di una [[AmministrazioneSistema/Pacchetti#Dipendenze|dipendenza]] non presente nel sistema, consultare il paragrafo [[#Installazione_dipendenze|Installazione dipendenze]]. Per una più semplice gestione delle dipendenze è possibile avvalersi del programma '''[[Programmazione/Checkinstall|auto-apt]]'''''|| |
|
Linea 38: | Linea 48: |
{{{#!wiki tip Spesso per migliorare la compressione [[AmministrazioneSistema/FormatiDiCompressione|dell'archivio compresso]] contenente il [[https://it.wikipedia.org/wiki/Codice_sorgente|codice sorgente]], lo [[Programmazione/LinguaggioBash|script]] di configurazione `configure` ed il file `Makefile` vanno creati eseguendo prima lo script `autogen.sh` col comando:`./autogen.sh`}}} {{{#!wiki tip Quasi sempre lo script di configurazione mette a disposizione l'opzione ''--prefix=path'' che permette di scegliere in quale directory allocare il programma che si va compilando. Nell'uso più frequente di questa opzione il comando diventa:`./configure --prefix=/usr`}}} {{{#!wiki tip Per ottenere un elenco delle ulteriori opzioni messe a disposizione dallo script digitare l'opzione ''-h'' oppure consultare i file `INSTALL` o `README` forniti col sorgente.}}} {{{#!wiki note Se la generazione del '''makefile''' dovesse interrompersi a causa di una [[AmministrazioneSistema/Pacchetti#Dipendenze|dipendenza]] non presente nel sistema, consultare il paragrafo [[#Installazione_dipendenze|Installazione dipendenze]].}}} == Script di configurazione con auto installazione dipendenze == 0. Assicurarsi di aver installato il pacchetto opzionale ''auto-apt'' come indicato nel capitolo [[#preparativi|Preparativi]]. 0. Aprire il [[AmministrazioneSistema/Terminale|terminale]] e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:{{{ cd ~/nomecartella }}}Sostituire '''nomecartella''' con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere '''/'''. 0. Avviare lo [[Programmazione/LinguaggioBash|script]] di configurazione digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ sudo auto-apt run ./configure }}} {{{#!wiki tip Quasi sempre lo script di configurazione mette a disposizione l'opzione ''--prefix=path'' che permette di scegliere in quale directory allocare il programma che si va compilando. Nell'uso più frequente di questa opzione il comando diventa: `sudo auto-apt run ./configure --prefix=/usr`}}} {{{#!wiki tip Per ottenere un elenco delle ulteriori opzioni messe a disposizione dallo script digitare l'opzione ''-h'' oppure consultare i file `INSTALL` o `README` forniti col sorgente.}}} <<Anchor(cmake)>> |
|
Linea 40: | Linea 79: |
Per programmi basati su '''[[https://it.wikipedia.org/wiki/KDE|KDE]]''' o '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]]''' la generazione del '''makefile''' è generalmente affidata al programma '''cmake''', come spiegato di seguito: 0. Creare la cartella `build` digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ |
Per programmi basati su '''[[https://it.wikipedia.org/wiki/KDE|KDE]]''' o '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]]''' la generazione del '''makefile''' è generalmente affidata al programma '''Cmake'''. 0. Aprire il [[AmministrazioneSistema/Terminale|terminale]] e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:{{{ cd ~/nomecartella }}}Sostituire '''nomecartella''' con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere '''/'''. 0. Creare la cartella `build` digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 44: | Linea 86: |
0. Spostarsi nella cartella appena creata digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ | 0. Spostarsi nella cartella appena creata digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 47: | Linea 89: |
0. Compilare i sorgenti digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ | 0. Compilare i sorgenti digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 50: | Linea 92: |
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Se la generazione del '''makefile''' dovesse interrompersi a causa di una [[AmministrazioneSistema/Pacchetti#Dipendenze|dipendenza]] non presente nel sistema, consultare il paragrafo [[#Installazione_dipendenze|Installazione dipendenze]].''|| ##||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Il programma '''Cmake''' è utilizzabile anche tramite interfaccia grafica. Per maggiori informazioni consultare la pagina [[wilecoyote/provawccmakegui|CMake-Gui]]|| |
{{{#!wiki note Se la generazione del '''makefile''' dovesse interrompersi a causa di una [[AmministrazioneSistema/Pacchetti#Dipendenze|dipendenza]] non presente nel sistema, consultare il paragrafo [[#Installazione_dipendenze|Installazione dipendenze]].}}} {{{#!wiki tip Il programma '''Cmake''' è utilizzabile anche tramite interfaccia grafica. Per maggiori informazioni consultare la pagina [[Programmazione/CMakeGui|CMakeGui]]}}} |
Linea 55: | Linea 100: |
Se la creazione del '''makefile''' si interrompe a causa di una dipendenza mancante, verrà generato un messaggio d'errore che ne riporta il nome. Sarà dunque necessario installarla manualmente come spiegato di seguito: 0. Avviare il [[AmministrazioneSistema/InstallareProgrammi/GestorePacchetti|gestore pacchetti]] |
Se la creazione del '''makefile''' si interrompe a causa di una dipendenza mancante, verrà generato un messaggio d'errore che riporta cosa manca. Sarà dunque necessario installarla manualmente, differenziando tra il caso in cui il nome del pacchetto non è individuabile e si dispone solo del nome del file e il caso in cui il nome del pacchetto è individuabile. === Con il nome del file === 0. Installare il pacchetto [[#Preparativi|apt-file]]. 0. Aprire il [[AmministrazioneSistema/Terminale|terminale]]. 0. Creare il database col comando:{{{ apt-file update }}} Il comando può richiedere del tempo per terminare. 0. Cercare adesso il pacchetto ignoto col comando:{{{ apt-file search <nomefile> }}} Il pacchetto richiesto è quello che fornisce il file coll'esatto nome. Per installare il suddetto seguire la procedura successiva. === Con nome del pacchetto === 0. Avviare il [[AmministrazioneSistema/InstallareProgrammi/GestorePacchetti|gestore pacchetti]]. |
Linea 59: | Linea 123: |
Linea 60: | Linea 125: |
0. Riavviare la generazione del '''makefile''' mediante lo [[#Script_di_configurazione|script di configurazione]] o il programma [[#Cmake|Cmake]]. | ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Nel caso il file richiesto sia fornito da 2 o più pacchetti selezionare quello con '-dev' nel nome.'' || 0. Riavviare la generazione del '''makefile''' mediante lo [[#Script_di_configurazione|script di configurazione]] o il programma [[#cmake|Cmake]]. |
Linea 65: | Linea 133: |
Dgitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ | Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 71: | Linea 139: |
0. Digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ | 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 75: | Linea 143: |
0. Una volta installato il programma, è possibile rimuovere i file compilati dalla cartella dei sorgenti digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ | 0. Una volta installato il programma, è possibile rimuovere i file compilati dalla cartella dei sorgenti digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 79: | Linea 147: |
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Non eliminare la cartella dei sorgenti né il suo contenuto, in quanto necessari per poter disinstallare il programma come spiegato nel paragrafo [[#Disinstallazione|Disinstallazione]]. In alternativa è possibile eseguire l'installazione servendosi di [[Programmazione/Checkinstall|CheckInstall]], il quale permette una differente e più semplice disinstallazione.''|| | {{{#!wiki note Non eliminare la cartella dei sorgenti né il suo contenuto, in quanto necessari per poter disinstallare il programma come spiegato nel paragrafo [[#Disinstallazione|Disinstallazione]]. In alternativa è possibile eseguire l'installazione servendosi di [[Programmazione/Checkinstall|CheckInstall]], il quale permette una differente e più semplice disinstallazione.}}} |
Linea 83: | Linea 152: |
* Digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ | Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 87: | Linea 156: |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Questo metodo di disinstallazione è utilizzabile solo se il '''Makefile''' mette a disposizione la relativa opzione '''uninstall'''.'' || | {{{#!wiki note Questo metodo di disinstallazione è utilizzabile solo se il '''Makefile''' mette a disposizione la relativa opzione '''uninstall'''.}}} |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Una peculiarità dei programmi open source è che ne viene sempre reso disponibile il codice sorgente, scaricabile sotto forma di archivio compresso con estensione .tar.gz, .tar.bz2 o .zip. Tale archivio contiene file di testo scritti in un linguaggio di programmazione, detti file sorgente, e altri eventuali file necessari al programma, come immagini e suoni.
Per poter utilizzare un programma ottenuto in questa forma è necessario tradurre i file sorgente in file binari, cioè file comprensibili ed eseguibili da un computer. Questa operazione è detta compilazione e si basa sulle istruzioni contenute nel makefile. Completata la compilazione è possibile eseguire l'effettiva installazione del programma, ovvero la copia dei file nella corretta posizione all'interno del file system.
Preparativi
Installare il pacchetto build-essential.
Per programmi basati su KDE o Qt, installare il pacchetto cmake.
Estrarre il pacchetto dei sorgenti nella propria Home.
Se si desidera utilizzare il metodo che scarica e installa in automatico le dipendenze di configurazione, occorre installare il pacchetto auto-apt (opzionale).
Dopo l'installazione è necessario eseguire la configurazione, per farla aprire il terminale e digitare i seguenti comandi:
sudo auto-apt update sudo auto-apt updatedb sudo auto-apt update-local
- Essa richiederà un pò di tempo per completarsi.
Per mantenere ordinata la propria Home è consigliabile creare una sottocartella specifica per le compilazioni.
Generazione del makefile
Il makefile è un file il cui contenuto dipende dalla configurazione del sistema in cui si intende installare il programma. Proprio per questo motivo, tale file non può essere distribuito insieme ai sorgenti ma va generato direttamente sul sistema di destinazione.
Le istruzioni che seguono descrivono i due metodi più comuni per generare il makefile, ovvero mediante lo scritp di configurazione o del programma Cmake. Tuttavia le istruzioni specifiche per ogni programma sono contenute in un file di testo, solitamente chiamato INSTALL o README, distribuito insieme ai sorgenti.
Script di configurazione
Aprire il terminale e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:
cd ~/nomecartella
Sostituire nomecartella con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere /.
Dare i permessi d'esecuzione allo script di configurazione digitando il seguente comando:
chmod +x configure
Avviare lo script di configurazione digitando il seguente comando:
./configure
Spesso per migliorare la compressione dell'archivio compresso contenente il codice sorgente, lo script di configurazione configure ed il file Makefile vanno creati eseguendo prima lo script autogen.sh col comando:./autogen.sh
Quasi sempre lo script di configurazione mette a disposizione l'opzione --prefix=path che permette di scegliere in quale directory allocare il programma che si va compilando. Nell'uso più frequente di questa opzione il comando diventa:./configure --prefix=/usr
Per ottenere un elenco delle ulteriori opzioni messe a disposizione dallo script digitare l'opzione -h oppure consultare i file INSTALL o README forniti col sorgente.
Se la generazione del makefile dovesse interrompersi a causa di una dipendenza non presente nel sistema, consultare il paragrafo Installazione dipendenze.
Script di configurazione con auto installazione dipendenze
Assicurarsi di aver installato il pacchetto opzionale auto-apt come indicato nel capitolo Preparativi.
Aprire il terminale e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:
cd ~/nomecartella
Sostituire nomecartella con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere /.
Avviare lo script di configurazione digitando nel terminale il seguente comando:
sudo auto-apt run ./configure
Quasi sempre lo script di configurazione mette a disposizione l'opzione --prefix=path che permette di scegliere in quale directory allocare il programma che si va compilando. Nell'uso più frequente di questa opzione il comando diventa: sudo auto-apt run ./configure --prefix=/usr
Per ottenere un elenco delle ulteriori opzioni messe a disposizione dallo script digitare l'opzione -h oppure consultare i file INSTALL o README forniti col sorgente.
Cmake
Per programmi basati su KDE o Qt la generazione del makefile è generalmente affidata al programma Cmake.
Aprire il terminale e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:
cd ~/nomecartella
Sostituire nomecartella con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere /.
Creare la cartella build digitando nel terminale il seguente comando:
mkdir build
Spostarsi nella cartella appena creata digitando nel terminale il seguente comando:
cd build
Compilare i sorgenti digitando nel terminale il seguente comando:
cmake ..
Se la generazione del makefile dovesse interrompersi a causa di una dipendenza non presente nel sistema, consultare il paragrafo Installazione dipendenze.
Il programma Cmake è utilizzabile anche tramite interfaccia grafica. Per maggiori informazioni consultare la pagina CMakeGui
Installazione dipendenze
Se la creazione del makefile si interrompe a causa di una dipendenza mancante, verrà generato un messaggio d'errore che riporta cosa manca. Sarà dunque necessario installarla manualmente, differenziando tra il caso in cui il nome del pacchetto non è individuabile e si dispone solo del nome del file e il caso in cui il nome del pacchetto è individuabile.
Con il nome del file
Installare il pacchetto apt-file.
Aprire il terminale.
Creare il database col comando:
apt-file update
Il comando può richiedere del tempo per terminare.Cercare adesso il pacchetto ignoto col comando:
apt-file search <nomefile>
Il pacchetto richiesto è quello che fornisce il file coll'esatto nome. Per installare il suddetto seguire la procedura successiva.
Con nome del pacchetto
Avviare il gestore pacchetti.
Cercare il nome del pacchetto, solitamente una libreria con suffisso -dev.
Installare il pacchetto.
Se sono presenti più versioni dello stesso pacchetto, installare quella del repository main.
Riavviare la generazione del makefile mediante lo script di configurazione o il programma Cmake.
Sarà necessario ripetere questa procedura ogni volta che la generazione del makefile viene interrotta da una dipendenza mancante.
Compilazione
Digitare nel terminale il seguente comando:
make
Installazione
Digitare nel terminale il seguente comando:
sudo make install
Una volta installato il programma, è possibile rimuovere i file compilati dalla cartella dei sorgenti digitando nel terminale il seguente comando:
make clean
Non eliminare la cartella dei sorgenti né il suo contenuto, in quanto necessari per poter disinstallare il programma come spiegato nel paragrafo Disinstallazione. In alternativa è possibile eseguire l'installazione servendosi di CheckInstall, il quale permette una differente e più semplice disinstallazione.
Disinstallazione
Digitare nel terminale il seguente comando:
sudo make uninstall
Questo metodo di disinstallazione è utilizzabile solo se il Makefile mette a disposizione la relativa opzione uninstall.