Newsgroup: it.comp.os.linux.iniziare
Titolo: dove mettere il make con cui fare il make

Avendo necessita' di installare un compilatore C piu' aggiornato (per
colpa di un maledetto programma che devo installare), ho scaricato
l'ultimo GCC.
Quando ho dato il comando ./configure, la cosa non ha funzionato perche'
richiedeva anche MPFR e GMP. Allora ho scaricato anche queste robe e le ho
messe nelle rispettive sottodirectory gcc-4.5.1/mpfr/mpfr-3.0.0 e
gcc-4.5.1/gmp/gmp-5.0.1. Il comando ./configure dato nella directory di
gcc-4.5.1 e' riuscito.
Ora ho dato il comando make, e la cosa non ha funzionato perche' richiede
anche una versione di MAKE piu' aggiornata. Allora ho scaricato l'ultimo
MAKE e l'ho messo nella sottodirectory gcc-4.5.1/make/make-3.82. Pero' il
comando make dato nella directory di gcc-4.5.1 non riesce ugualmente. Cosa
dovrei fare?
Grazie.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Cosa dovrei fare?
[...]
trovare l'eseguibile di make
which make
e sovrascriverlo con la versione più recente
-- 
Puppy Linux wiki:  
http://dokupuppylinux.co.cc
Puppy Linux Forum: 
http://puppylinux.ilbello.com
Windows me genuit, Ubuntu rapuere / tenet nunc Puppy Linux...

 which make
Non posso sovrascrivere nulla, sono solo uno dei tanti utenti del sistema.
Nelle mie directory posso fare quello che voglio, in quelle di sistema e
degli altri no.


 degli altri no.
e se indichi il percorso del make che vuoi usare?
r
-- 
posted from a ridicoulus Country
tutto sui Pentangle: 
http://umpf.net/

On Tue, 09 Nov 2010 18:04:10 +0100, makeccavolo ci disse:
[...]
col cucchiaino:
- piglia l'eseguibile della ultima versione di make
- parlaci amichevolmente, ti darà il suo indirizzo e numero di telefono
- con questi dati, ovvero con il suo *percorso completo* (es: io mi 
scarico sam2p-0.47 in /home/, avendo già sam2p-0.45 in /usr/local/bin, 
dunque, se lo voglio invocare (l'ultima versione di sam2p, se non voglio o 
non posso sovrascrivere l'originale, mi piglio il suo percorso:
/home/sam2p
che avvierà una versione di sam2p differente da quello contenuto in
/usr/local/bin/
e lo lancio così: /home/sam2p


 e lo lancio così: /home/sam2p
Premessa importante: sto smanettando su un sistema grosso, ma io sono poco
meno che un principiante. Cose che saranno evidenti per altri, per me non
lo sono.
Detto questo, due sono le cose che mi lasciano totalmente perplesso:
1. Se faccio which make ottengo come risposta /usr/bin/make. Quindi io mi
aspetto di dover trovare (per poi lanciare) in un'altra directory un
qualcosa che si chiama make, senza nessuna estensione. Pero' nella
directory dell'ultimo make trovo make-3.82/make.1, make-3.82/make.lnk e
make-3.82/h, ma nessun make-3.82/make. 
O forse questo make-3.82 va prima... non so come dire... compilato,
lanciato, configurato, aggiustato, fate un po' voi?
 
2. mettiamo pure che io trovassi questo make senza nessuna estensione. Se
io lo lancio con /percorso/make, poi lui come fa a capire che mi deve fare
il make del mio GCC e non (giusto per fare un esempio) il make del
programma che devo installare, e che si trova in un'altra directory? In
altre parole: come faccio a dire a quel make (quando lo trovo) di agire
nelle directory che interessa a me, se non "glielo dico" in qualche modo?


 nelle directory che interessa a me, se non "glielo dico" in qualche modo?
penso basti lanciarlo dentro la dir dove deve operare;
un altro metodo che mi viene in mente è creare un alias 
make=nuovomakecon percorso;


 agire nelle directory che interessa a me
[...]
"la risposta è dentro di te, e però è sbagliata"
 Corrado Guzzanti /Quelo
ogni comando opera nella cartella in cui lo si invoca:
vado a spasso per il bel prato fiorito di /tmp/, tutto a  un tratto mi 
vien voglia di contare le margherite che ci sono e chiamo ls da /usr/bin/ 
per affidargli questo gravoso compito, apro il terminale in /tmp/ (facendo 
attenzione a non calpestare l'aiuola)
ls -1
/usr/bin/, /sbin/, /usr/local/bin/, sono locazioni incluse per 
impostazione predefinita nella variabile d'ambiente ed in cui vengono 
cercati gli eseguibili. Dove vengono installati, così da evitare 
all'utente la scocciatura di digitare ogni volta il percorso completo
quando io digito ls, il sistema cerca in tutte le locazioni predefinite 
degli eseguibili binari e se lo trova, lo lancia, noi diamo ls, ma in 
realtà il sistema sta avviando /usr/bin/ls, in maniera del tutto 
trasparente all'utente
detto ciò, anche agli esperti la compilazione può provocare dei gran mal 
di testa, figuriamoci a chi nemmeno sa se ha scaricato un file binario o u 
codice sorgente da compilare (compresso in un archivio; tar.gz, tar.bz2, 
zip o altro) e può saperlo solo interpellando l'ispettore file
file file.estensione
prima leggere e informarsi, poi tornare a provare


 zip o altro) e può saperlo solo interpellando l'ispettore file
Infatti a me il tutto sta provocando il mal di testa multiplo che tu
descrivi. Come si evince anche dal mio nick, credo. Solo che sono
costretto a fare tutto da me. 
Tornando a dove trovare il mio make, ho scaricato il codice sorgente da
compilare, e ho gia' un-gzippato (o come si dice) e s-tarato (idem)
l'archivio. Come gia' dicevo prima, sono presenti vari file, tra cui
make.1, make.lnk, make.h, ma nessun make senza estensione.
Se volete, la domanda adesso e' diventata: una volta scaricato e
decompresso l'archivio di make-3.82, come faccio ad avere un make
funzionante?
Grazie ancora per la pazienza.


 sono presenti vari file
[...]
sono un po' più di vari file
- 
http://ftp.gnu.org/gnu/make/make-3.82.tar.gz
scaricalo dove vuoi
- vai nella cartella in cui l'hai scaricato
- apri una finestra del terminale in quella cartella
- tar -xzf make-3.82.tar.gz
e il contenuto sarà estratto in una cartella dal nome *make-3.82*
- spostaticiti (in quellac artella)
- da dentro quella, apri un'altra finestra del terminale e digita
./configure
vedi se ci sono errori
poi dai
make && make install
(logica AND, se il primo comando ha esito favorevole, anche il secondo 
viene eseguito, no invece se il primo fallisce)
e incrocia le dita le agnostico, prega se religioso, generalmente 
parlando, per compilare tutto gcc mi ci è voluto un mese intero, non 
ricordo se il solo make desse particolari rogne


 make && make install
  Poi l'OP si sposterà nella cartella dei sorgenti di GCC e li darà il
suo ./configure --prefix=$HOME/Gcc (o che altro) e quindi, se il
./configure avrà fatto correttamente il suo lavoro, eseguirà il make con:
[makeccavolo@suoPC gcc-4.5.1]$ ~/Make/make
  E chissà, magari per scommessa o stregoneria bianca, la cosa funziona!
 E, udite! udite! Magari produce pure un gcc che funziona!
  La scienza è una cosa meravigliosa.
  Ma l'informatica non è una scienza esatta.
  Chi l'ha mai sostenuto non sapeva di che cosa parlava.
  Ma chi l'ascoltava sapeva che parlava a vanvera.
  «We believe in rough consensus and running code.»
  Questa è la verità!
  Ciao,
-- 
Alessandro Selli 
http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.