compilare i sorgenti

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
thepaperboy
Linux 2.x
Linux 2.x
Messaggi: 236
Iscritto il: sab 20 giu 2009, 20:22
Slackware: 13
Kernel: 2.6.29.6-smp
Desktop: xfce
Località: milano
Contatta:

compilare i sorgenti

Messaggio 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?

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: compilare i sorgenti

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

metrofox
Linux 3.x
Linux 3.x
Messaggi: 760
Iscritto il: gio 7 ago 2008, 12:29
Slackware: slackware64-current
Kernel: 3.4.4-ck3
Desktop: FluxBox-1.3.1
Distribuzione: FreeBSD-8.1(amd64)
Località: London

Re: compilare i sorgenti

Messaggio 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 :)

Avatar utente
mohaa
Linux 1.x
Linux 1.x
Messaggi: 181
Iscritto il: mar 4 mar 2008, 8:52
Slackware: 12.1
Kernel: 3
Desktop: Gnome2
Distribuzione: Gentoo
Località: Francia

Re: compilare i sorgenti

Messaggio 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

Avatar utente
slucky
Iper Master
Iper Master
Messaggi: 2420
Iscritto il: mar 1 mag 2007, 15:30
Slackware: 15.0
Desktop: xfce4
Distribuzione: FreeBSD

Re: compilare i sorgenti

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

Rispondi