View Full Version : compilare in modo pulito
per compilare bisogna:
scompattare, ./configure, make, make install.... giusto?
una volta fatto, questa cartella dove si è scompattato, serve ancora o può essere cancellata?
se serve... si può spostare o no? e dove sarebbe meglio tenere le cartelle di tutti i programmi compilati?
Da quello che so può servire in caso di ricompilazione o nel caso in cui si voglia lanciare la disinstallazione del programma con ./uninstall sempre se è presente.
Penso che la cartella la puoi spostare senza problemi.
Io tengo tutte le cartelle dei sorgenti in /usr/src .
jimmazzo
22-04-2007, 16:29
Ciao David, che distro usi?
Io ti consiglio di usare "checkinstall" al posto di "make install"; praticamente questo tool (che trovi in quasi tutte le distro; o meglio nei repository) ti permette di creare un pacchetto (tgz-> x slackware e simili; rpm-> red-hat e simili; deb-> per debian, ubuntu etc) che poi potrai tranquillamente rimuovere dal gestore dei pacchetti.
Io ho iniziato ad usarlo con la slack anni fa e funziona bene nel 99% dei casi, ora sono in ubuntu e lo uso felicemente anche quì...
Diciamo che l'unico difetto che puoi trovarci è questo: se lo usi in distro tipo debian o red-hat (rpm-deb) non tiene traccia delle dipendenze (neanche su slack ehh, ma in questa distro è così, le dipendenze sono un divertimento...); ma credo non sia troppo grave se i pacchetti li crei e li gestisci te perchè bene o male ti ricordi le dipendenze che devono essere soddisfatte (almeno io me le ricordo); poi in caso di molte dipendenze creo un file di testo e le segno; sposto il file e il pacchetto creato in una directory propria in modo da facilitarmi la vita se devo reinstallarlo dopo molto tempo o su qualche altra macchina.
Se non lo trovi nei repository della tua distro: http://asic-linux.com.mx/~izto/checkinstall/ .
Ciao.
Ps: Io i sorgenti decompressi in genere li rimuovo dopo un paio di giorni (il tempo di test del programma); se proprio per qualche motivo devo ricompilarlo riscarico il tarball e lo ricompilo ex-novo; poi vedi te, io lo faccio per risparmiare spazio, tengo solo i pacchetti creati con checkinstall.
interessante....!
(kubuntu)
vediamo se ho capito....
decomprimo, ./configure, make e poi checkinstall.
a questo punto crea un .deb o ha già installato il programma?
per le dipendenze, se ne mancano non me ne accorgo già con ./configure?
cmq grazie!! ;)
interessante....!
(kubuntu)
vediamo se ho capito....
decomprimo, ./configure, make e poi checkinstall.
a questo punto crea un .deb o ha già installato il programma?
per le dipendenze, se ne mancano non me ne accorgo già con ./configure?
cmq grazie!! ;)
sudo checkinstall
se mancano dipendenze ti da errore ./configure
comunnque nella maggior parte dei casi è inutile compilare perchè il gestore pacchetti di ubuntu ha tutto quello che serve
jimmazzo
22-04-2007, 19:45
interessante....!
(kubuntu)
vediamo se ho capito....
decomprimo, ./configure, make e poi checkinstall.
a questo punto crea un .deb o ha già installato il programma?
per le dipendenze, se ne mancano non me ne accorgo già con ./configure?
cmq grazie!! ;)
decomprimi, ./configure, make e poi sudo checkinstall . (il pacchetto checkinstall non è installato di default, cercalo e installalo con synaptics)
Poi, la configurazione predefinita (in k\ubuntu) di checkinstall ti installa automaticamente il pacchetto; io sinceramente preferisco installarmelo da solo con "dpkg -i nomepacchetto".
Apri il file /etc/checkinstallrc e dagli un'occhiata, oltre a disabilitare "l'auto installazione" del pacchetto puoi trovare\editare tutte le varie configurazioni possibili.
Ps: le dipendenze non le segna quando installi il pacchetto; la fase configure rimane invariata; per esempio se il programma xxx richiede la libreria yyy, e quest'ultima non è installata in fase "./configure", ti esce un errore finchè non la installi e non potrai dare il "make"; però una volta creati i pacchetti di xxx e yyy, se reinstalli la distro e installi xxx nessuno ti dice di installare yyy, è questa l'unica pecca; cmq te ne accorgerai da solo se dimentichi le dipendenze perchè o il programma non si avvia (e riporta l'errore: manca yyy) oppure si avvia e non funzionerà bene (e trà l'output in console ti segnalerà cmq che manca yyy). :)
Ciao.
se la cartella dei sorgenti ha al suo interno la cartella 'debian' e se su una distro debian-based puoi usare uno di questi due comandi per compilare:
dpkg-buildpackage oppure debian/rules binary
questi tengono conto delle dipendenze!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.