Pagina 1 di 1

compilare i sorgenti

Inviato: mer 29 lug 2009, 16:53
da thepaperboy
ciao a tutti,
sto leggendo s4d e mi sono trovato in difficoltà nella pagina di gestione dei pacchetti. in particolare, vedo che per creare un pacchetto tgz mi vengono indicati un sacco di procedimenti e varie opzioni, infine si parla di "strippare i binari", "comprimere i man" e gil "info" e infine makepkg, per poi installare il pacchetto con installpkg.

quello che non ho capito è questo: ./configure, make e make install non basta? è un procedimento che in slackware non funziona?

Re: compilare i sorgenti

Inviato: mer 29 lug 2009, 17:27
da phobos3576
thepaperboy ha scritto:quello che non ho capito è questo: ./configure, make e make install non basta? è un procedimento che in slackware non funziona?
Certo che funziona.
Quello è il metodo generale indipendente dalle varie distribuzioni.

Se scarichi un sorgente, lo decomprimi e scopri che è presente uno script chiamato configure, allora la compilazione/installazione si svolge con i seguenti comandi (da root):

Codice: Seleziona tutto

./configure
make
make install
Spesso il configure richiede anche dei parametri; puoi conoscere l'elenco completo con il comando:

Codice: Seleziona tutto

./configure --help
La disinstallazione avviene in modo altrettanto semplice; dopo aver decompresso i sorgenti (stessa versione di quelli che hai installato), devi dare:

Codice: Seleziona tutto

./configure
make uninstall
Le varie distribuzioni utilizzano un loro sistema personalizzato per la creazione dei package; questo metodo è necessario per tenere traccia più facilmente dei pacchetti installati o disinstallati e delle loro dipendenze.
Nel caso della Slackware, prova ad aprire uno SlackBuild presente nei repository di Slacky e vedrai che al suo interno sono presenti ugualmente i comandi ./configure, make, make install; la differenza sta nel fatto che l'output di quei comandi va a finire in una directory che poi viene compressa in formato TGZ.

Re: compilare i sorgenti

Inviato: mer 29 lug 2009, 22:10
da metrofox
E comunque su slackware è sempre meglio installare da pacchetti(generati da slackbuild) che ovviamente essendo molto più gestibili dal package manager(pkgtools --> removepkg --> installpkg --> upgradepkg ecc...)fai una disinstallazione più veloce e migliore :) Ovviamente gli slackbuilds sono di corpo più complessi perché gestiscono diversi altri passaggi nella compilazione di un sorgente, praticamente compili quel sorgente in modo aderente e funzionale(molto funzionale), così la tua compilazione viene perfetta per la tua macchina(e se specifichi anche l'architettura anche per la tua architettura), tutta questa compilazione ed installazione avviene nella dir dei sorgenti nel programma e non nelle varie subdirs della root(al posto di make install su uno slackbuilds si usa mettere un make install DESTDIR=$PKG(che non è altro che una variabile specificata prima, viene usata questa variabile per non immettere ogni volta l'intero percorso), dai un'occhiata ad uno slackbuild, guarda com'è fatto :) Ci vuole un tantino di conoscenza bash per saperli leggere e scrivere bene :) Io ad esempio ho appena imparato a farli :)

Re: compilare i sorgenti

Inviato: gio 30 lug 2009, 6:43
da mohaa
"strippare i binari", "comprimere i man" e gli "info"
Ti servono per risparmio disco ; i binari non stripppati non sono utili a tutti (only for debug issues).
quello che non ho capito è questo: ./configure, make e make install non basta?
Lo slackbuild viene utile nel pacchetizzare del software. Potresti usare il classico ./configure, make && make install ma in questo caso avresti bisogno dei sorgenti del software (ben configurati) per un futuro rimosso.
è un procedimento che in slackware non funziona?
Per il procedimento vedi tu... Penso che sia piu commodon l'uso dei paccheti (e di SB) perché ti facilitano rimossi/upgrade/downgrade

Re: compilare i sorgenti

Inviato: ven 31 lug 2009, 23:12
da slucky
infine, a parte l'utilizzo degli SlackBuild che resta la strada maestra per creare pacchetti su Slack è il sistema classico dei comandi per l'installazione dei pacchetti su linux, valido per tutte le distro, c'è anche checkinstall, il quale è in grado di creare pacchetti in formato .deb, .rpm o tgz, con il vantaggio di poter rimuovere o installare il pacchetto tramite il package-manager della propria distribuzione, qui trovi il sito del progetto è altre info:

http://asic-linux.com.mx/~izto/checkinstall
http://linuxpedia.netsons.org/index.php ... eckInstall
http://www.openskill.info/infobox.php?ID=1214

ma basta fare un giro in rete per trovare molta altra documentazione a riguardo...