|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
[C++/Linux] Installare GCC 4.8.1.
Ciao...
da quasi completo ignorante di Linux, vi chiederei di linkarmi una guida chiara che spieghi come compilare l'ultima release di GCC (ma non per forza l'ultima, basta che mi faccia capire un po' come funziona il procedimento) visto che il readme incluso nella tarball con i sorgenti è lunghissimo e mi ci perdo... Sono riuscito a compilare qualche giorno fa Clang 3.2 seguendo una guida simile, step by step, sintetica ma concisa...ma non trovo niente per GCC...perchè Linux dev'essere così difficile?? ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
Grazie cmq, la guida sicuramente è semplice, speravo in qualcosa che spiegasse il significato delle opzioni in modo più chiaro per un user Windows. Ma a questo punto forse è meglio cercare altrove, magari una "lista spiegata dei comandi più usati della console Linux"... |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Sono riuscito a compilarlo sulla VM, a 32bit, oggi ho provato varie volte su una installazione fresca di Ubuntu a 64bit, ma non c'è verso...e ho seguito gli stessi step -.-
Praticamente make fallisce con errore "cannot compute the suffix of object files". In giro dicono sia colpa della mancanza delle librerie gmp, mpc, mpfr...ma io le ho scaricate, prima di tutto nello stesso modo in cui le ho scaricate sull'altra installazione (con ./contrib/download_prerequisites) e poi dai vari siti...la cosa strana è che se non le scarico, configure mi avvisa subito; quindi perchè, scaricandole, configure dovrebbe dire che è tutto ok se poi make fallisce? Ma ste librerie vanno compilate? Io le scarico e basta con lo script download_prerequisites...e son sicuro che anche sull'altra installazione le ho solo scaricate, senza compilarle...che palle Linux ![]() edit: sto riprovando, dopo aver direttamente installato le 3 librerie con apt-get...vediamo... edit2: NIENTE DA FARE PORCA PALETTA Ultima modifica di vendettaaaaa : 23-06-2013 alle 17:14. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Sembra che la soluzione possa essere usare il comando export LD_LIBRARY_PATH eccetera, come descritto qui:
http://stackoverflow.com/questions/5...ed-object-file Ma sono un po' fuso e non ho capito dove dovrei aggiungere questo comando. Lo attacco in coda alle opzioni per ./configure? O lo scrivo in console prima di lanciare il configure? ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
|
IMHO ti conviene installarti la beta di Fedora 19
__________________
In a world without fences, who needs Gates? Power by: Fedora 8 - Mac OS X 10.4.11 |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
LD_LIBRARY_PATH deve puntare a dove si trovano le librerie mptr, gmp e mpc.
Ovviamente vanno compilate prima loro. p.s. se le hai installate via apt-get, non dimenticare di installare le versioni -dev |
![]() |
![]() |
![]() |
#7 | |
Member
Iscritto dal: Aug 2004
Messaggi: 39
|
Quote:
Codice:
export LD_LIBRARY_PATH=<...>
__________________
Quello che davvero mi interessa è se Dio, quando creò il mondo, aveva scelta. |
|
![]() |
![]() |
![]() |
#8 | ||
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
Quote:
![]() Cmq non va bene fare a questo punto --with-gmp=<...> anzichè usare l'export? ![]() |
||
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Un passo alla volta, grazie
![]() Quote:
Però voglio imparare ad usare un nuovo OS e la linea di comando, mi pare molto utile alla mentalità da programmatore, o anche solo come esperienza accumulata... |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Tieni anche presente che gli eseguibili che compili con quel GCC richiedono di installare la sua stdlib
![]() Questo significa che nel caso migliore l'utente si deve scaricare parecchi mb di pacchetti o compilarselo dal sorgente. Nel caso peggiore invece la distro non ha i pacchetti nè di GCC 4.8 nè della sua stdlib e si deve compilare GCC da sorgente ![]() Nel caso ancora peggiore se prova a installare una nuova stdlib gli scoppiano tutti i programmi e deve formattare (ci sono distro che falliscono miseramente nel versioning della stdlib). In sostanza se vuoi che la gente possa aprire i tuoi programmi senza bestemmiarci le ore, compila con la roba più vecchia che riesce a compilare il codice, ad esempio GCC 4.4. Fai conto che Ubuntu 10.04 che teoricamente è ancora "supportato" rientra nel "caso peggiore" e non ha nemmeno GCC 4.6. Ubuntu 12.04 LTS che è dell'anno scorso ha GCC 4.7. Ah, il magico mondo di Linux ![]() PS: non ti aspettare che gli utenti linux capiscano cosa stanno facendo anzi - spesso sono noob orrendi che pensano di sapere tutto perchè LOL WINZOZ ![]() Per cui non ti aspettare che sappiano: a) far partire il tuo programma da terminale per leggere l'errore che da quando cliccano e non parte b) essere modesti e non scriverti per mail "soluzioni" lunghe km che in finale sono tutte minchiate e dovevano installare un pacchetto da APT c) configurare il loro sistema e non darti la colpa per errori assurdi che capitano perchè hanno messo la root nel desktop e girano come amministratori (lol!) PPS: Il titolo di questo post potrebbe essere "Free Software or: How I Learned to use GCC and Hate Linux" ![]() Ultima modifica di Tommo : 23-06-2013 alle 20:52. |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Tra le altre cose, c'è pure come compilare gcc da sorgenti. |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
Cmq niente paura, perchè col C++ al momento mi diletto e studio, a lavoro uso F77, sono proprio fortunato a non avere di questi pensieri! ![]() ![]() |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Anche con export LD_LIBRARY_PATH non cambia niente...
Userò Clang finchè non risolverò il problema, amen. Ora vado a letto, sconsolato, e sempre più fiero di amare Windows e gli installer grafici ![]() |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
|
Quote:
![]() http://llvm.org/releases/3.3/tools/c...easeNotes.html http://llvm.org/releases/3.3/docs/ReleaseNotes.html
__________________
In a world without fences, who needs Gates? Power by: Fedora 8 - Mac OS X 10.4.11 |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Credo ci sia un ppa per gcc 4.8. Che versioni del sistema operativo stai usando?
|
![]() |
![]() |
![]() |
#17 | ||
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
![]() Quote:
![]() |
||
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
I pacchetti nuovi ci sono, ma la politica di ubuntu è conservativa.
Gcc 4.8 lo puoi trovare qui https://launchpad.net/~ubuntu-toolchain-r/+archive/test Aggiungi il ppa e puoi procedere. Solo che è ritenuto testing ( considera che gcc 4.8 è uscito a maggio e ubuntu 13.04 ad aprile ). Altre distribuzioni non si fanno problemi ( arch e gentoo ad esempio ). Debian c'ha il ramo sid in cui mette le ultimissime versioni dei software. |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12843
|
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Per vendettaaaaa (nick azzecatissimo nel caso in esame
![]() ![]() Dice di dare un'occhiata qui: http://forum.html.it/forum/showthrea...readid=1541152
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:08.