Newsgroup: it.comp.os.linux.iniziare
Titolo: Compilare che passione

Ciao a tutti,
ho letto già i vecchi post ed è piena di gente che non riesce a
compilare. Quindi ho pensato di dare anch'io il mio contributo.
Premetto conosco già i comodissimi rpm ma con quelli non impari nulla.
Vorrei imparare a compilare ma non ci riesco. In linea di massima
dovrebbe risolversi tutto in
./configure  make  make install.
Per installare un programma ci vuole un compilatore che richiede la
libreria A che vuole la libreria  B che a sua volta necessita della
libreria C. Essendo alla prime armi mi blocco e non riesco a fare nulla.
Molti dicono c'è guarda nel  INSTALL  (rigorosamente in inglese) e dopo
averlo letto tutto, mi rendo conto di non aver capito una mazza per
colpa della mia poco conoscenza di Linux.
Quali sono i componeti base per compilare la maggioranza dei programmi?
In quale sequenza vanno installati?
Esiste un manuale meglio se in italiano che insegni a compilare?
Ciao
Lele

 Esiste un manuale meglio se in italiano che insegni a compilare?
Non lo so.
Finora me la sono sempre cavata installando tutti i compilatori e le
librerie, cercando poi informazioni nei vari README o INSTALL contenuti
nei tarball dei sorgenti di quasi tutto il software.
Fortunatamente conosco abbastanza l'inglese da leggere senza problemi la
documentazione tecnica. In italiano esistono gli howto di linux e parecchi
documenti, ma non so se esista qualcosa specificamente dedicato alla
compilazione, anche perchè di solito si tratta di un task banale...
Ciao,
Manuel
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 librerie che trovi sui CD di installazione della tua distribuzione,
allora come ti ho già detto non conosco Linux e relativi compilatori.
Ho letto centinaia di pagine ma sono bel lontano a capire come funzionano.
Per gli INSTALL partono dall'idea che uno sia già capace, peccato che
questo non sia il mio caso.
In ogni caso rinnovo il mi invito di avere documentazioni semplici
riguardanti la compilazione.
Per gli howto in italiano anche quelli lasciano il tempo che trovano,
perché quando dalla shell ricevi errori tipo ERROR 1 .... qualcosa not
found non sono più in grado di andare avanti. In oltre le motivazioni
possono essere molteplici mancanza del compilatore della libreria o
chissà quale altra diavoleria.
Alla fine mi tocca usare gli rpm o win con  buona pace del codice sorgente.
Grazie
Lele

 Esiste un manuale meglio se in italiano che insegni a compilare?
Installa una Slack ed avrai gia' tutto pronto per la compilazione , e'
rarissimo che non mi riesca di compilare qualcosa (di solito perche' non ho
letto bene i vari README/INSTALL)

Ciao brainless,
ho provato una volta a installare la Slackware ma è stato terrificante.
tutto a linea di comando sei sicuro che vado bene per un novello come me?
Ciao
lele

 letto bene i vari README/INSTALL)
Quoto tutto
Neo

Lele ha scritto:

A dire il vero l'installazione e' pseudo grafica. Se ti scarichi una
guida dal web la stampi ti trovi bene. Non e' difficile. Le cose piu'
complicate sono sull'amministrazione ma se hai voglia di imparare non
e' difficile. 
A proposito quando esce la 11.0?
Ciao Neo

 tutto a linea di comando sei sicuro che vado bene per un novello come me? 
quando l'ho messa su ero proprio agli inizi, contrariamente a te la 
trovai facile, mi bastò non agire d'impulso e sapere che la grafica 
partiva con startx;
guide alla Slack:
http://www.umpf.net/ramapage/slack.htm
 (in pillole)
http://www.slacky.it/tutorial/sfd/slackware_for_dummies.txt
 (esaustiva)
tutte le schermate d'installazione:
http://shots.osdir.com/slideshows/slideshow.php?release=437&slide=1
r
-- 
- Berlusconi, lei è uno stronzo.
- Come si permette! La denuncio!
- L'ho detto con ironia.
- Ah. Allora niente, scusi.
Ramapage, Baudelaire, Pentangle: 
http://umpf.net/

Ciao Neo,
quale versione della Slackware mi consigli?
Che tua sappia a problemi con VmWare?
Ciao
Lele

 A proposito quando esce la 11.0?
C'e' del fremento in Danimarca [cit.]   ;-)

Lele ha scritto:    (Snip,cut,tagl,seg)

Ti ha gia risposto Rama , se ci riesce lui che non e' esattamente un
"guru"  :-P
ti segnalo anche un sito :
http://www.slacky.it

Lele ha scritto:

Non ho mai provato VmWare. Ma e' per il s.o. virtuale? se e' quello mi
sa che fai prima con il dual boot. Per la versione la current e' la
10.2 ma se aspetti esce la 11.0 con kernel 2.6 finalmente!!! e credo
con kde 3.5 e tante altre novita'. Mi spiace per i fan di debian & C ma
slack e' la migliore.
Ciao Neo
ps. debian ha un sistema ottimo per l'installazione di software. Ma i
fedeli a slack odiano questo sistema
In bocca al lupo

 con kde 3.5 e tante altre novita'.
la current ora ha kde 3.5.2

 la current ora ha kde 3.5.2
Non sapevo e' un po' che non la aggiorno grazie dell'info
Neo

 Ho letto centinaia di pagine ma sono bel lontano a capire come funzionano.
No, no, ferma la trebbia.
Forse mi sono spiegato male.
Quello che voglio dire è questo: quando hai installato linux, sicuramente
ad un certo punto ti è stato chiesto di scegliere *che cosa* installare.
Ne sono sicuro perchè tutte le distribuzioni ti permettono di
personalizzare l'installazione.
Alcune distribuzioni, tipo Fedora, ti chiedono in prima battuta di
scegliere tra 4 o 5 macro configurazioni, tipo "desktop", "server",
"developement", etc, permettendoti solo poi di selezionare in dettaglio
quali pacchetti installare, ad esempio con un tasto "advanced". Altre
distribuzioni, come slackware, raggruppano i pacchetti in famiglie e te li
presentano direttamente.
In ogni caso, nelle famiglie di pacchetti sono presenti le sezioni
"compilatori" e "librerie", indicate di solito in modo chiaro. La mia
raccomandazione è quella di verificare che tutti i pacchetti appartenenti
a queste famiglie siano installati.
Se non vuoi reinstallarti da capo la macchina, puoi sempre aggiungere
questi pacchetti all'installazione corrente. E' il bello di avere i
pacchetti! :-)
Se mi dici che distribuzione usi forse posso essere più specifico
nell'indicarti dove trovare i pacchetti in questione e come installarli.
A quel punto, con tutti i compilatori e tutte le librerie a bordo, è
improbabile (ma purtroppo non impossibile) che i sorgenti di qualsivoglia
programma falliscano la compilazione.
Ciao,
Bud


 Esiste un manuale meglio se in italiano che insegni a compilare?
Non credo esista un manuale per compilare, devi affidarti un po'
all'istinto. In generale, io che non so un tubo di programmazione in
C/C++ etc. faccio cosi':
- installo tutto l'indispensabile (sorgenti del kernel, gcc, make, etc.,
su Ubuntu basta apt-get build-essential);
- installo i pacchetti con gli header delle librerie da cui dipende il
sw che sto compilando (quelli con suffisso -dev);
- ogni volta che il ./configure si lamenta che manca libxyz installo il
pacchetto libxyz-dev (ogni tanto si dimenticano di dichiarare delle
dipendenze).
A questo punto il configure dovrebbe terminare senza errori. Se la
compilazione vera e propria va in errore e' una cosa un po' meno
simpatica: a volte basta aggiungere un link simbolico col nome giusto
alla libreria giusta (tipicamente se hai errori del tipo file not
found), altre volte occorre usare una diversa versione del compilatore
(mi viene in mente lopster, non si riesce a compilarlo con gcc 4.x).
Spesso una ricerca su google (copia/incolla il messaggio di errore)
risolve la cosa.
Senno' pazienza, a meno che tu non sappia di programmazione, nel qual
caso puoi tentare di sistemare tu il codice che crea l'errore.
Ciao :)
--
He who has but four and spends five has no need for a wallet.

 colpa della mia poco conoscenza di Linux.
In generale servono i compilatori e le librerie.
I primi sono generalmente inclusi in tutte le distribuzioni (a parte, 
forse, *ubuntu, ma si trovano facilmente nelle repositories). Le 
seconde invece non sempre, dato che spesso sono specifiche per una 
serie di applicazioni e sarebbe impossibile averle tutte a 
disposizione. Di solito sono incluse quelle di base (Qt, Gtk,...)
La prima e più importante cosa da fare è leggere i vari README e 
INSTALL inclusi nei pacchetti, nonché la sezione "requirement" spesso 
presente nei siti di riferimento delle applicazioni: spesso sono 
generici, il che significa che non c'è bisogno di niente di 
particolare per riuscire a compilare; a volte, però, dicono 
esattamente cosa serve di speciale e anche in quale ordine installarlo 
(es. digikam, che ho compilato da sorgenti un paio di volte). Anche 
per questi, se installati da sorgente, ovviamente valgono gli stessi 
accorgimenti.
La seconda cosa da fare è leggere bene l'output del comando 
./configure: lo script configure serve proprio a verificare la 
soddisfazione dei requisiti, la presenza (e la versione) delle 
librerie e quant'altro. Se non va a buon fine, di solito è 
quell'output a dire cosa serve e cosa è andato storto, e la soluzione 
può trovarsi tra i vari "yes" e "no".
Prima di eseguire configure, spesso è buona norma "igienica" 
cominciare con un bel "configure --help", perché può darsi che vada 
passato qualche parametro aggiuntivo. (tipicamente, --prefix=/usr, se 
il default è /usr/local, può risolvere il classico problema di 
localizzazione di librerie che stanno in /usr/lib invece che in 
/usr/local/lib, dove invece verranno cercate dallo script).
Una volta che ./configure si è concluso senza errori si può passare 
alla compilazione vera e propria con il comando "make".
A volte anche questo passaggio viene concluso da errori, ma se la 
configurazione è andata a buon fine e le dipendenze sono soddisfatte, 
può anche essere un errore nei sorgenti stessi, o di non corretta 
versione dei compilatori e/o di alcune librerie.
Questo caso l'ho risolto, qualche volta, scrivendo direttamente agli 
autori del software; una volta semplicemente commentando una riga in 
un file (-:
Questa è la mia limitata esperienza di utente non espertissimo, se può 
aiutare...
M.

 libreria C. Essendo alla prime armi mi blocco e non riesco a fare nulla.
Il mio consiglio è: lascia perdere. Se vuoi compilare le tue 
applicazioni per personalizzarle al meglio, vai su Gentoo. Crei il tuo 
sistema da zero, all'inizio specificando tutto a mano da riga di 
comando, e compili tutti i pacchetti secondo le tue preferenze. Ci vuole 
un po' di tempo e di forza di volontà, ma alla fine hai un sistema che 
vola e che è ritagliato esattamente sulla tua piattaforma e le tue 
esigenze. E visto che l'intera distro è pensata per la compilazione dei 
pacchetti, fornisce dei tool appositi per renderti la vita *molto* più 
facile, cosa che si traduce in niente più ./configure, niente più README 
per ogni programma e niente più estenuanti ricerche dell'introvabile e 
sempre mancante dipendenza da 4 KB...
Io sono passato dalla Mandrake, in cui l'installazione del SO è stata 
immediata ma l'installazione e l'aggiornamento dei pacchetti era un 
incubo, alla Gentoo, che è tutto il contrario. All'inizio ti smazzi 
tutta la guida per installarla, ma poi hai il vantaggio che installare 
un pacchetto richiede un solo comando, e aggiornare *l'intero* sistema 
ne richiede due...
-- 
Ave!
Caesar.
Eatvr quo nos deorvm ostenta vocant. Alea iacta est!
Caivs Ivlivs Caesar, Imperator Mvndi
CaesarOd...@Fastwebnet.It

 nell'indicarti dove trovare i pacchetti in questione e come installarli.
La mia distribuzione è Mandriva (ex Mandrake) 2006 ho
La mia installazione è quella base, ma senza le varie suite per ufficio 
come OpenOffice.
Reinstallare il tutto è la cosa minore, utilizzando VmWare si ha 
notevoli vantaggi.
 > A quel punto, con tutti i compilatori e tutte le librerie a bordo, è
 > improbabile (ma purtroppo non impossibile) che i sorgenti di 
qualsivoglia programma falliscano la compilazione.
Non ne ho la certezza assoluta, ma credo che isa quello il problema 
perché non riesco a compilare praticamente nulla.
Ciao
Lele

 sa che fai prima con il dual boot. 
Fa credere al sistema operativo ospite di trovarsi davanti a una 
macchina "nuda".
No sei in errore non c'è nessun dualboot, il S.O. ospite viene trattato 
come un programma qualsiasi.
Te lo consiglio non te ne pentirai, esistono diverse versioni gratis.
Ciao
lele

 dipendenze).
Ti sei avvicinato moltissimo al mio problema, come ho scritto in un post 
precedente il mio problema che non conosco i vari header quindi li 
installo a casaccio con pessimi risultati nella maggioranza delle volte.
Quello che mi fà arrabbiare dei compilatori è che mi tocca installarli 
da rpm e la cosa mi piace poco, perchè non imparo nulla.
 > simpatica: a volte basta aggiungere un link simbolico col nome giusto
 > alla libreria giusta (tipicamente se hai errori del tipo file not
 > found
ehehhe più facile a dirsi che a farsi (per me).... molte volte bisogna 
capire che è un problema di link....
 > Spesso una ricerca su google (copia/incolla il messaggio di errore)
 > risolve la cosa.
Sarà ma quando mi capitano errori tipo Error 1 anche google fà fatica...
Grazie per l'interesse
Ciao
Lele

 Il mio consiglio è: lascia perdere. 
Mai, non son un tipo a cui piace perdere, sopratutto davanti a macchine 
stupide.
Io utilizzo la mdk, fin che non mi non mi muovo dagli rpm è facile come 
utilizzare win, ma appena trovo applicazioni dove c'è il solo codice 
sorgente sono dolori.
 > Crei il tuo  sistema da zero
Scherzi???? ho appena imparato la differenza tra cp e mv e mi vuoi far 
compilare il mio sistema?!? :-(
Ciao
Lele

 anche in quale ordine installarlo 
E se seguendo l'ordine aggiungi la libreria che manca è durante 
l'installazione ti segnala  che a sua volta ci vuole una altra libreria.
Non voglio essere ripetitivo ma per installare un programma spesso mi 
manca la libreria della libreria... Sembra quasi una catena di san Antonio.
Cmq farò tesoro dei consigli che mi hai dato.
Ciao
Lele

 ./configure  make  make install.
Togliti dalla testa questo falso mito che "saper compilare" un'applicazione
ti rende più preparato di chi utilizzi i packet manager tipo apt o yum. Una
compilazione "cieca" come quella che vuoi te (alla fin fine vuoi
installarti i programmi, no?) ti porta solo a grattacapi con le dipendenze
di cui ha bisogno un programma. Per conto mio si apprende molto di più
configurando a puntino e capendo davvero un programma che con con un
configure-make-make install.
-- 
Vide

 Sarà ma quando mi capitano errori tipo Error 1 anche google fà fatica...
Di solito make si blocca per errori nel codice sorgente, riportando
esattamente qual'e' il problema: guarda bene i messaggi di errore.
Ciao
--
Never keep up with the Joneses. Drag them down to your level.
		-- Quentin Crisp

 manca la libreria della libreria... Sembra quasi una catena di san Antonio.
Fare il discorso in generale non è molto utile: la compilazione dei 
sorgenti in generale... funziona, salvo i casi particolari, come i 
tuoi. Perché non scendiamo nel dettaglio? Prendi un pacchetto che non 
sei riuscito a compilare e riporta qui gli errori che ottieni: in 
questo modo magari il NG ti può essere utile...
M.

 modo magari il NG ti può essere utile...
Ottima idea, domani nel pomeriggio posterò i problemi che incontrerò 
durante la compilazione di GuardDog (un firewall).
Premetto utilizzo mdk 2006 con installazione standartd, nel frattempo 
sto scaricando la slackware su consiglio di questa NG.
a domani
Grazie
Lele

 configure-make-make install.
Questo lo sto già facendo, mi sono letto tutta la documentazione 
riguardante il KDE sò che non è molto ma è gia un inizio.
Ciao
Lele

Lele ha scritto:

Non ho bisogno grazie. A me linux e il suo software basta e avanza.
L'unico software proprietario che uso e' mathematica e maple ma che per
fortuna ci sono anche per il pinguino.
Ciao Neo

 Non ho bisogno grazie. A me linux e il suo software basta e avanza.
Ok, questo è un programma differente. Se hai un sistema operativo che 
non conosci puoi provarlo senza dover partizionale nulla.
Con VmWare puoi far funzionare contemporaneamente 2, 3 o quanti S.O. 
vuoi. Se proprio detesti il close source ne esiste anche uno open source.
Ciao
Lele

 durante la compilazione di GuardDog (un firewall).
Io l'ho compilato su Slackware 10.
Non è un caso che esistono dei pacchetti di sorgenti appositamente per 
mdk:
http://rpmfind.net/linux/rpm2html/search.php?query=guarddog&submit=Search+...&system=mandriva&arch=

 compilare il mio sistema?!? :-(
Ti assicuro che è la stessa cosa che pensavo anch'io, con la mdk avevo 
aperto la console solo 3 volte e facevo di tutto per evitarlo. Il fatto 
è che la Gentoo ha delle guide estremamente semplici e chiare 
(soprattutto quella principale, l'handbook), quindi è molto semplice 
seguirle. In più va considerato che usare i vari comandi non è 
difficile, tipicamente uno non se li guarda più per pigrizia che altro, 
ma quando sei costretto a usare solo la console impari molto molto 
velocemente. Personalmente in due mesi sono passato da non sapere 
nemmeno che con tab facevi il completamento automatico a conoscere tutti 
i file di configurazione principali del sistema... se con linux non devi 
lavorarci nell'immediato e ti piace imparare (come me ;)), è l'ideale.


Ciao MarcoA,
durante la compilazione di GuardDog è uscito questo errore.
"checking for X... configure: error: Can't find X includes. Please check 
your installation and add the correct paths!"
Per la Slackware la sto scaricando, quindi ci vorrà qualche giorno.
Che bello dire apertamente "sto scaricando un programma" senza passare 
per "criminale" i vantaggi del open source
Ciao
Lele

 lavorarci nell'immediato e ti piace imparare (come me ;)), è l'ideale.
No non devo lavoraci, voglio solo integrare le conoscenze che ho in Win 
con Linux. Mi piace il concetto di fondo dell'open sorce la condivisione 
del sapere.
Ciao
Lele

 per "criminale" i vantaggi del open source
Ma non c'e' un LUG dalle tue parti che ti possa dare i 2 CD della slack ?
http://www.linux.it/LUG