Newsgroup: it.comp.os.linux.iniziare
Titolo: Quesito sui comandi

Dopo aver scompattato un file tar.gz, ho provato come indicato a digitare:
./ configure
make
make install
ma mi riporta degli errori, probabilmente perchè dovrei aggiungere delle
estensioni ai comandi.
Potreste aiutarmi??
GRazie.

 Potreste aiutarmi??
Senza sapere che errori ? Un po' dura...
Davide

- m :

/dev/crystalball/ tra un palloncino di sostanze tossiche e l'altro vede
molto male lo spazio tra ./ e configure.
Nicholas
-- 
Slackware 8.1 - 2.4.19 - GCC version 2.95.3

 Davide
Giusto. Chiedo scusa ma per me questo sistema operativo è ancora un mistero
e ho già installato tutto da capo una ventina di volte.
Allora, quando (credo) decomprimo il file tar.gz
la schermata successiva mi mostra i files estratti.
Successivamente, ma forse sbaglio, digito:
make <nome di uno dei file estratti>
ed il sistema mi ritorna il seguente messaggio:
make:**** No rule to make target "nome file ". Stop.
in cosa sbaglio??
Grazie per la comprensione

 Senza sapere che errori ? Un po' dura...
La mia sfera di cristallo dice:
./configure
make
make install
Ciao
  Andrea
-- 
Sognatore e' un uomo coi piedi saldamente ancorati sulle nuvole

 Grazie per la comprensione
tar zxvf nomeprogramma.tar.gz
poi devi entrare nella directory creata, verosimilmente con:
cd nomeprogramma
e poi 
./configure
make
make install
oppure ancora meglio leggiti qualche INSTALL o README che ci trovi dentro
ciao
-- 
...aveva fatto i bagagli, salutato tutti, risalutato tutti, e dimenticato 
apposta una valigia, alla locanda, perché un pretesto per tornare bisogna 
sempre seminarselo dietro, quando si parte. Si sa mai.

 make:**** No rule to make target "nome file ". Stop.
./configure è uno script che genera le regole per compilare.
Dopo averlo lanciato hai un file make nella tua directory che, appunto,
andrà a compilare il programma: a quel punto puoi lanciare un bel make.
Queste operazioni vanno eseguite da utente normale.
Ora puoi loggarti come root e lanciare un make install che andrà a installare
il programma compilato nelle directory che riterrà opportune o in quelle
che tu gli hai assegnato.
Il 99% dei pacchetti ha un file INSTALL o INSTALL.unix ecc. ti consiglio
di leggerlo. Nel caso in cui manchi leggi README o simili. Se manca anche
quello leggi tutto :p E' un ipotesi abbastanza remota però :=)
In ogni caso all'inizio ti consiglio di usare RPM o .deb o <estensione> 
insomma usa file binari.


Ringrazio tutti quelli che mi hanno risposto.
Alla fine sono riuscito a fare il tutto.
Di nuovo grazie.
Max

 in cosa sbaglio??
Io ho imparato che cercare di capire lettralmente i messaggi di errore 
aiuta molto con linux.
"No rule" ti dice che non c'è una regola: manca qualcosa. Perché manca?
Nel tuo caso perché hai fatto un paio di errori:
La prima è "./ configure" che non significa niente. Ma questo non lo sai 
perché sei alle prime armi. Ti dà un mess. di errore già a quel punto, 
vero?
La prossima volta comincia con il primo errore :)
La seconda è la mancanza di qualcosa: nel tuo caso non manca, ma sta nella 
directory sbagliata ( o meglio, sei tu che ci stai).
Esempio.
Sei nella dir pippo dove hai scaricato il file pluto.tar.gz.
Benone.
$ tar xzvf pluto.tar.gz. ($ significa che il comando lo lanci da utente: 
			  non devi sriverlo, è un simbolo della shell)
con quelle opzioni tar ripristina un archivio filtrandolo attraverso 
gunzip, e cioè decomprimendolo: è una scorciatoia per non dover dare due 
comandi: guzip pluto.tar.gz e poi tar -xvf pluto.tar
$ cd pluto           
è la norma che gli archivi siano fatti in modo che scompattandoli creino 
un cartella che si chiama come l'archivio stesso nel percorso corrente: mi 
sa che questo ti era sfuggito :)
$ ./configure     (se non va può anche essere che non serva)
$ make
# make install    (# significa che sei root: lo diventi col comando "su")
Buon divertimento!
POEMETTO SU LINUX: che roba è ./configure?
(Leggere con moderazione e leggerezza: newbie at work)
OVVERO: APPUNTI PER ME STESSO IN SECONDA PERSONA
configure e make sono entrambi comandi: dicesi *eseguibili*...
Puristi si scandalizzeranno: make è compilato, configure è uno script: 
in ogni modo hanno in comune questo, che possono essere, oltre che 
letti e scritti come ogni file, anche eseguiti.
Unix è semplice da far venire male in certe cose... 
Ora ti faccio una domanda: come fa linux a sapere che $ make significa che
lui deve lanciare il programma make? (ovvero leggere un file eseguibile 
che si chiama make e interpretarlo eseguendo quello che appunto il file 
prescrive) 
Dove sta il file make?
Nella cartella pluto? Cercalo. E mi dispiace se ti si smonta 
l'immagine del tuo bellissimo computer come una scatola magica che "fa 
cose". Ti ci devi abituare: con Linux il tuo gioiello da 2 milioni si 
rivela per la scatola di fili che è, e capisci che la scatola per "fare 
le cose" ha bisogno della tua intelligenza. 
I progettisti di GNU e di Linux 
fanno sì che quando accendi la tua macchina gran parte dell'intelligenza 
umana richiesta abbia già fatto il suo lavoro. Ma c'è un anello 
indispensabile tra i milioni di righe di intelligenza che stanno chiusi, 
appiattiti nel filesystem, e la macchina: e quello sei tu. Che strano eh? 
e dire che Windows ci ha messo anni per convincerti che da te è richiesta 
una totale deficienza; per il buon funzionamento della macchina, si 
intende.
Allora eravamo rimasti a quel pezzettino di intelligenza stipata nel tuo 
filesystem col nome di make. Pensalo come un frammento di memoria. 
Immaginati, ancora, di fronte a una bomba che sta per saltare e tu non sai 
disinnescarla: hai le forbici in mano, ma non sai quale filo... Ecco che 
per magia hai accesso al frammento di memoria di qualcuno che ha già 
disinnescato quella bomba, e lasci a questa memoria non tua il controllo 
della tua mano che tiene le forbici.
Qualcosa del genere accade quando scrivi make: è la tua intelligenza che 
sa che per compilare un programma bisogna lanciare make; tutto il resto 
della compilazione è però opera dell'intelligenza di altri.
Il sistema operativo è questa gerarchia di frammenti di memoria, dicesi 
codice, migliaia di ore di lavoro e sforzi intellettuali, migliaia di 
tazzine di caffè e chili di sostanze su cui sorvoliamo, rese eterne in un 
filesystem.
Alcune di queste sono state messe sotto il nome di make, o 
meglio di /usr/bin/make, visto che è lì che make va messo.
Bash, la shell che usi e ti fa interagire con la tua macchina attraverso 
una linea di comando, è anch'essa un programma. Della memoria in essa 
contenuta c'è anche questo, che sa dove si trovano gli eseguibili senza 
che tu glielo dica ogni volta. È questo ricordo che ti esonera dal 
ricordare TU che il programma è /usr/bin/make: è solo per questo che ti è 
sufficiente digitare make. Dai un occhiata al tuo file di configurazione 
.bashrc: PATH è la variabile che indica il percorso degli eseguibili nel 
tuo sistema linux: sono posizioni standard  (con molte eccezioni che 
dipendono dal tuo stile e da quello della tua distribuzione).
Prova
$ whereis make
Visto? Bash lo sa.
Ora prova
$ whereis configure
Niente
Infatti non esiste UN comando configure, buono per tutti i sorgenti da 
compilare, non avrebbe senso. Ogni pacchetto di sorgenti contiene uno script 
configure adatto al tipo di variabili e librerie che devono essere 
controllate prima di compilare i sorgenti.
Perciò devi lanciarlo con il suo nome intero, /.../pippo/pluto/configure.
La scorciatoia è indicare la sua posizione non con un percorso assoluto 
(quello che comincia da /) ma con un percorso relativo.
./ è la notazione della directory corrente: ecco svelato il mistero.
configure non esiste, è una parola senza senso: è un file che non c'è, un 
file sospeso nel nulla. 
Una sfera in uno spazio bidimensionale; la moglie di un prete: non basta 
pronunciare un nome perché queste cose esistano (Scorie della mia tesi su 
Wittgenstein)
./configure invece esiste... 
...se sei nella directory giusta :))
Buon lavoro a tutti, e a tutte le vostre ottuse macchine.
-- 
Francesco Tomba
tot...@email.it

 e ho già installato tutto da capo una ventina di volte.
L'ho fatto spesso anch'io. Ma ogni volta che reinstalli Linux, significa 
che hai rinunciato a pensare.
Ancora un pensierino su Linux, che oggi non mi passa un cazzo.
Se regalo una scatola di cioccolatini perugina ma ne manca uno perché me 
lo sono mangiato, avrò fatto una pessima figura.
Se mi faccio fare un sacchettino di cioccolatini artigianali, nessuno 
conterà quanti ne sono. Sarà un regalo ben fatto perché i cioccolatini 
sono buoni, e non ci sarà altro criterio. I cioccolatini perugina 
potrebbero anche fare schifo, basta che la scatola sia intera.
1° corollario: le confezioni di WinXP sono più importanti del contenuto.
NOTA: un consulente windows crede sempre che questa sia una battuta
2° corollario: non regalatemi cioccolatini perché li conto 
3° corollario. L'unico rimedio a una scatola perugina aperta, è 
ricomprarla. Non c'è scampo da una schermata blu.
4° corollario: agli integralisti. Se passi l'intera giornata a farteli da 
te i cioccolatini, forse non faranno schifo, ma non avrai certo dato un 
contributo al cioccolato artigianale.
-- 
Francesco Tomba
totoro@email.i

 Buon lavoro a tutti, e a tutte le vostre ottuse macchine.
(keep message && save to disk)
Molto bello, complimenti :) 
-- 
Ikitt


tot...@email.it
Tu sei fuso. (<grin>)
-- 
manuel `fmf' ferrero
"I francesi" disse lui con grande convinzione "non capiscono niente di caffe".
                -- William Gibson, Count Zero.

 Tu sei fuso. (<grin>)
OK sono fuso. Ma č un mio prob con slrn, oppure la mia prima "Re: Quesito 
sui comandi" non č arrivata?
Era ancora piů fusa.
Se mando con postfix (domanda da cazzone) due messaggi con identico header 
contemporaneamente, č possibile che il secondo sovrascriva il primo?
Grazie ma mi incuriosisce proprio
-- 
Francesco Tomba
tot...@email.it

contemporaneamente, è possibile che il secondo sovrascriva il primo?
Boh? Non credo, dovrebbe esserci un meccanismo del tipo messageId.
Ma e' solo una supposizione. Anche se credo che la tua ipotesi sia da
scartare per "buon senso".
