Home > Linux, Ubuntu > Compilare in Linux – Ubuntu

Compilare in Linux – Ubuntu

[ ^ 2012 aggiornamento]
In Linux lo schema classico per la compilazione da sorgente di un applicazione
prevede tre passaggi ottenuti con tre comandi da terminale che diventano quattro con il check della compilazione:

./configure          #   .1 
make                 #   .2

e possibile controllare che la compilazione sia avvenuta correttamente con

 
make check           #   .2b

Quindi per installare

sudo make install    #   .3

In genere la applicazioni che richiedono la compilazione sono scritte in C and C++. Questo rende necessario il compilatore gcc. Installiamo pertanto il pacchetto build-essential.

sudo apt-get install build-essential

per avviare configure e autogen.sh files che accompagnano molti programmi installiamno

sudo apt-get install automake autoconf

p.s  automake e autoconf tools sono utilizzati per i progetti C++ sotto Unix.  Comparati con gli scirpts makefiles e configure gestiti manualmente consentono un risparmio di tempo e assicurano che i progetti siano strutturati seguendo i GNU standards.

Qualora serva un run-time e un compilatore java installiamo gcj

sudo apt-get install gcj

Ubuntu

In Ubuntu per installare sicuramente un programme e preferibille utilizzare in sotituzione di
sudo make install
il programma checkinstall. Il comando diventa

sudo checkinstall

Questo consentirà di rimuovere facilmente il pacchetto installato digitando seguente oppure via interfaccia grafica:

sudo dpkg -r nome_pacchetto

E possibile anche generare il pacchetto senza installarlo con il comando

sudo checkinstall --install=no

Checkinstall si installa con

apt-get install checkinstall

La sequenza di comandi ottimale per compilare in Ubuntu risulta pertanto

./configure
make
make check                         #  test della compilazione
sudo checkinstall                  # generazione del pacchetto .deb  

oppure 

sudo checkinstall --install=no     # generazione del pacchetto .deb 
dpkg -i nome_pacchetto             # installazione pacchetto

librerie mancanti in Ubuntu Linux

I pacchetti che devono essere compilati possono essere accompagnati da indicazioni precise relativamente alla dipendenze necessarie per la compilazione.
Questo sopratutto se sono scaricati dalle pagine del del sito specifico per il progetto.
Quando questo non accade conviene prendere nota delle dipendenze mancanti che emergono in fase di compilazione e ricercare su internet. In genere indicando la dipendenza mancante e il sistema operativo risulta abbastanza agevole trovare il nome del pacchetto da installare.

Prima di ricercare su internet le librerie mancanti conviene fare una ricerca con dpkg -l.

Di seguito alcuni esempi con indicato come verificare la presenza di alcuni dei pacchetti più comuni necessari in fase di compilazione in Ubuntu Debian.

cerchiamo GTK+ 2 >= version 2.18 ricercheremo libgtk2.0

dpkg -l libgtk2* | grep GTK+          # ii indica che la libreria è installata  

sudo apt-get install libgtk2.0-dev      #  per installare

ricerchiamo Cairo >= version 1.8
se utilizziamo grep ‘i ‘ otterremo una lista solo se questi sono installati
per ottenere la lista dei pacchetti disponibili togliere il pipe grep.

 
dpkg -l libcairo2* | grep 'i '       

sudo apt-get install libcairo2-dev

Glib >= version 2.22

 dpkg -l glib*

Libtool

dpkg -l libtool* |  grep ‘i ‘

Pkg-config

dpkg -l pkg-config* |  grep ‘i ‘

auto-apt

Per una più agevole individuazione delle librerie mancanti si puo utilizzare auto-apt.
In questo caso se ci sono dipendenze disponibili, una finestra di dialogo si aprirà e chiederà di installarle (qualora lo si desideri). Non so se chiamarla controindicazione auto-apt però è un po pesante.

con auto-apt i comandi per la compilazione in ubuntu diventano

auto-apt run ./configure
make 
sudo checkinstall

per usare auto-apt installiamo e aggiorniamo.

 sudo apt-get install auto-apt
 sudo auto-apt update

Problemi in fase di compilazione

Se lanciato il make appare un errore di questo tipo

msgfmt: command not found

provare a risolvere installando gettext

apt-get install gettext

Risorse:

Advertisements
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: