iKoala

Ciò che si scopre aprendo la mente e guardando il mondo con occhi diversi.
Compilare sorgenti con i tool di Debian Linux
Codice

Capita ormai molto spesso di avventurarsi nel mondo della compilazione dei sorgenti di un programma. Questo processo, ormai diventato inusuale grazie alla diffusione dei pacchetti binari, risulta ormai utile solamente per ottimizzare le prestazioni e migliorare un software per la propria macchina. Molte volte ciò costringe l’utente a dover compiere salti mortali, specialmente quando la compilaizone non va a buon fine e non si ottiene ciò che si voleva. Per chi vuole comunque divertirsi, senza bestemmiare o danneggiare il proprio corpo mediante suicidio, sono comunque disponibili dei tool Debianari, che ci permettono di compilare i sorgenti di un determinato pacchetto senza troppi sforzi.

Tutti/parte dei comandi vanno eseguiti da super utente! È consigliabile fare attenzione!

Al posto del classico:

./configure && make && make install

Potrà tornarci utile in futuro sfruttare tool come apt e dpkg anche per la compilazione dei pacchetti. Supponiamo ora, di voler compilare un programma a noi caro, di uso comune e che risulta molto utile anche nei momenti di crisi: finch.

Per prima cosa dobbiamo essere sicuri che tra i nostri repository ci siano quelli contenenti i sorgenti dei pacchetti. Per cui conviene dare da tarminale questo comando, che controlla la presenza di almeno uno di quei repository:

cat /etc/apt/sources.list | grep deb-src

Se vedrai come output una riga di testo con un repository, allora ne hai almeno uno contenente sorgenti, altrimenti è il caso di abilitarli. (È possibile usare anche i tool grafici come synaptic). A questo punto possiamo procedere. Prima di ogni cosa dobbiamo preparare la nostra macchinuccia per la compilazione del pacchetto finch; digitiamo da terminale:

apt-get build-dep finch

In questo modo apt preparerà tutte le dipendenze per la compilazione. Ora è arrivato il momento di scaricare il sorgente e di compilarlo! Avviamo dunque il seguente comando:

apt-get source finch

e spostiamoci nella cartella appena creatasi, contenente tutto il codice sorgente, e qui avviamo la compilazione mediante dpkg:

cd ./finch* && dpkg-buildpackage -rfakeroot -uc -us

Ora il nostro pacchetto si starà compilando e tra poco potremo godere dei frutti della compilazione, l’unica cosa che ci manca è l’installazione. Se tutto sarà andato a buon fine spostiamoci nella cartella di livello superiore e installiamo il pacchetto appena compilato dai sorgenti:

cd ./.. && dpkg -i ./finch*.deb

Può accadere che durante la compilazione vengano costruiti più pacchetti, per questo è consigliabile anche l’utilizzo dell’asterisco (*) nel comando, per includere anche gli altri pacchetti.

Niente paura, per i più pigri è disponibile anche un altro comando capace di scaricare e compilare tutto il necessario autonomamente, successivamente potremo installarlo sempre mediante dpkg!

apt-get source –compile finch

In entrambi i casi il sorgente sarà compilato con configurazioni standard¹ ma verrà comunque ottimizzato grazie al processo di compilazione!

[¹]: È possibile comunque configurare il pacchetto tramite i sorgenti!

14 apr 09 | Guide, Informatica, Programmi, gnu/Linux
« EyeOS: KDE4 in versione WebOS?
Momo: fondanela »
  • lorenzo
    ci sono vari errori nei comandi:
    NO cat /etc/apt/sources.list | grep “deb-src” && echo “OK procedi pure!”
    OK cat /etc/apt/sources.list | grep deb-src
    il messaggio non credo possa funzionare

    NO apt-get build-deb finch
    OK apt-get build-dep finch
  • koalalorenzo
    Grazie per la segnalazione! Correggo immediatamente!

    Non ricordo il motivo, ma sicuramente andavo di fretta :( MALE! MALE! MALE!

    Grazie ancora :D
blog comments powered by Disqus

I am koalalorenzo!

Lorenzo Setale: Giovane, Sviluppatore, Appassionato d'informatica e delle nuove tecnologie.

Pagine

  • About Me
  • Progetti

Articoli casuali

  • Buon compleanno iKoala!!!
  • Risposta a Felipe: Cosa penso.
  • Olympicmew & Koalalorenzo
  • Nokia cosa???
  • iTalia & iTaliani

RSS Eucalipto

  • È passato un anno
  • stylophonic: baby beat box
  • nuova locazione per le lattine e per chuck
  • Brava (1966)
  • Internet in un video

Categorie

  • Apple
  • Attualità
  • Come tira il vento
  • Comuni mortali
  • Copia e Incolla
  • Distribuzioni
  • Divertente
  • Giochi
  • gnu/Linux
  • google
  • Grafica
  • Guide
  • Informatica
  • inUtility
  • Life
  • musica
  • NetBook
  • News
  • Nintendo
  • Progetti
  • Programmazione
  • Programmi
  • Propaganda del buon senso
  • Sito del giorno
  • Telefonini
  • Web
  • Youtube

Archivi

  • marzo 2010
  • febbraio 2010
  • gennaio 2010
  • dicembre 2009
  • novembre 2009
  • ottobre 2009
  • settembre 2009
  • agosto 2009
  • luglio 2009
  • giugno 2009
  • maggio 2009
  • aprile 2009
  • marzo 2009
  • agosto 2008
  • luglio 2008
  • giugno 2008
  • maggio 2008
  • aprile 2008
  • marzo 2008
  • febbraio 2008
  • gennaio 2008

Blogroll

  • Bl@ster's Blog
  • Brand:GNU
  • Damym
  • Gica & Oltre
  • GicaTech
  • iKoala Answers
  • Luca Marchi
  • Navback's blog
  • Piplos’ Blog

Cerca nel blog

Creative Commons License © Lorenzo Setale iKoala · RSS Feed