Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Immutable Page
  • Info
  • Attachments


Guida verificata con Ubuntu: 16.04

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.

  • Estrarre il pacchetto dei sorgenti nella propria Home.

    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.

È possibile procedere alla generazione del makefile tramite lo script di configurazione oppure tramite il programma Cmake, usato particolarmente per programmi basati su KDE o Qt. 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

  1. 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 /.

  2. Avviare lo script di configurazione digitando nel terminale il seguente comando:

    ./configure

    Per ottenere un elenco delle opzioni messe a disposizione dallo script digitare l'opzione -h.

  3. Terminata la generazione del makefile, procedere con la compilazione.

Se la generazione del makefile dovesse interrompersi a causa di una dipendenza non presente nel sistema, consultare il paragrafo Installazione dipendenze. Per una più semplice gestione delle dipendenze è possibile avvalersi del programma auto-apt.

auto-apt (opzionale)

Il programma auto-apt identifica le dipendenze necessarie allo script di configurazione e ne propone l'installazione. Ciò consente di eseguire lo script e generare il makefile senza interruzioni.

  1. Installare il pacchetto auto-apt.

  2. Procedere come indicato nel paragrafo Script di configurazione sostituendo il comando ./configure col seguente:

    auto-apt run ./configure
  3. Se auto-apt identificherà dipendenze installabili, ne proporrà l'installazione.

  4. Terminata l'installazione delle dipendenze e la generazione del makefile, procedere con la compilazione.

Cmake

  1. Installare il pacchetto cmake.

  2. 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 /.

  3. Creare la cartella build digitando nel terminale il seguente comando:

    mkdir build
  4. Spostarsi nella cartella appena creata digitando nel terminale il seguente comando:

    cd build
  5. Compilare i sorgenti digitando nel terminale il seguente comando:

    cmake ..
  6. Terminata la generazione del makefile, procedere con la compilazione.

Se la generazione del makefile dovesse interrompersi a causa di una dipendenza non presente nel sistema, consultare il paragrafo Installazione dipendenze.

Installazione dipendenze

Se la generazione del makefile dovesse interrompersi 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:

  1. Avviare il gestore pacchetti

  2. Cercare il nome del pacchetto, solitamente una libreria con suffisso -dev.

  3. Installare il pacchetto.

    Se sono presenti più versioni dello stesso pacchetto, installare quella del repository main.

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

Dgitare nel terminale il seguente comando:

make

Installazione

È possibile procedere all'installazione tramite il metodo standard oppure servendosi di CheckInstall, un programma che, partendo dai sorgenti compilati, crea un pacchetto .deb e lo installa. Questo secondo metodo ha il vantaggio di consentire la disinstallazione del programma tramite gestore pacchetti.

Metodo standard

  1. Digitare nel terminale il seguente comando:

    sudo make install
  2. 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 successivo.

Disinstallazione

  1. Aprire il terminale e spostarsi nella cartella in cui è stato generato il makefile digitando il seguente comando:

    cd ~/nomecartella

    Sostituire nomecartella con il nome della cartella in cui è stato generato il makefile. Eventuali sottocartelle devono essere separate dal carattere /.

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

CheckInstall

  1. Installare il pacchetto checkinstall.

  2. Digitare nel terminale il seguente comando:

    sudo checkinstall -D
  3. Per creare il pacchetto vengono fatte alcune domande con risposta suggerita, ad eccezione di quelle relative alle opzioni di configurazione si consiglia di fare clic su Invio

    Se si desidera creare il pacchetto .deb, ma non installarlo, aggiungere l'opzione --install=no.

Opzioni di configurazione

Durante l'elaborazione verrà offerta la possibilità di modificare i seguenti valori:

0 -  Maintainer: [ root@MonumentValley ]
1 -  Summary: [ Stile Skulpture per Kwin ]
2 -  Name:    [ build ]
3 -  Version: [ 20160917 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ build ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ build ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Segue una breve descrizione delle principali opzioni:

  • 0: Nome, cognome ed <email> del creatore. L'indirizzo email deve essere racchiuso fra i caratteri < >.
    1: Descrizione del pacchetto.
    2: Nome del pacchetto.
    3: Versione del pacchetto. Il primo carattere deve essere numerico.
    4: Sub-versione del programma. Il valore predefinito è 1.
    5: Licenza del pacchetto. Il valore predefinita è GPL.
    6: Gruppo d'appartenenza del pacchetto. Il valore predefinito è checkinstall.

Non modificare ulteriori opzioni di configurazione, a meno di necessità particolari. Per maggiori informazioni consultare il documento originale.

Per modificare un valore digitare il numero corrispondente e premere Invio.

Terminate le modifiche premere due volte Invio.

Disinstallazione

I programmi installati servendosi di CheckInstall possono essere facilmente rimosso tramite il gestore pacchetti o digitando nel terminale il seguente comando:

sudo dpkg -r nome_pacchetto

Ulteriori risorse


CategoryAmministrazione CategoryProgrammazione