Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Ho scazzato :)

    Ciao ragazzi....
    Allora ho appena finito di compilare l'ultiva version di gcc ma.....anzichè inserire nelle opzioni la directory dove inserirla me l'ha messa di default in /usr/local/lib.
    Come faccio ad usare la nuova versione quando digito gcc nella shell???
    "L'unica differenza tra me e un pazzo è che io non sono pazzo!"(Salvador)

  2. #2
    Dai il percorso completo per arrivare al nuovo gcc
    poi ti crei un alias...
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    296
    Crei un link simbolico in /usr/bin o dove ti pare.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    19
    inserisci questo nel tuo file .bashrc che sta nella tua home

    PATH=/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin
    export PATH

    se c'e' gia' qualcosa di simile devi fare in modo che /usr/local/bin compaia prima di /usr/bin come sopra

    fai questo per ogni utente se ce ne sono e poi riavvia.
    A questo punto se lanci il comando gcc -v ti indichera la nuova versione.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    296
    Mmmm... e questo cosa dovrebbe fare? lui ha messo l'eseguibile in /usr/local/lib, mi pare...

  6. #6
    Ehm, hai scazzato anche il titolo del thread, si'.



    Diamo dei titoli piu' chiari, senno' non si capisce una mazza, grazie.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    19
    > Mmmm... e questo cosa dovrebbe fare? lui ha messo l'eseguibile in /usr/local/lib, mi pare...

    Guarda che per me' lui si sta' confondendo. Non ho' mai sentito che un programma installi i binari di default in /usr/local/lib

    > anzichè inserire nelle opzioni la directory dove inserirla me l'ha messa di default in /usr/local/lib

    lui dice che non ha' dato l'opzione che specifica dove installare i binari quindi, di default sono stati installati in /usr/local/bin.

    chrimai scusa, puoi' andare da shell in /usr/local/bin e lanciare il comando ./gcc -v e postare cosa ti appare.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    19
    Laurentius, comunque anche se lui avesse per sbaglio e installato i binari del programma in /usr/local/lib (ma non credo sia cosi') basterebbe modificare il PATH cosi'

    PATH=/bin:/usr/local/bin:/usr/local/lib:/usr/bin:/usr/X11R6/bin
    export PATH

    hai visto che ho' aggiunto /usr/local/lib. La variabile di ambiente PATH contiene gli indirizzi dove Linux cerca gli eseguibili.
    Per vedere come' configurata la variabile PATH si lancia echo $PATH
    Come e' impostata sopra Linux cerchera prima i binari in /bin ,poi in /usr/local/bin,etc...
    Se per esempio io ho' una versione di gcc-3.3.1 in /usr/bin e gcc-3.3.2 in /usr/local/bin con la variabile che ho' impostato io Linux cerchera' prima in bin, poi in /usr/local/bin e qui trovera' la versione gcc-3.3.2 e usera questa senza andare avanti a controllare le altre directory.

    Quando si compila un applicazione le sue librerie vengono messe di norma in /usr/local/lib e quindo bisogna andare a modificare il file /etc/ld.so.conf aggiungendo il percorso /usr/local/lib . Una volta fatto questo si deve lanciare da root il comando ldconfig -v.

    Ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    19
    > Crei un link simbolico in /usr/bin o dove ti pare

    ???

    In /usr/bin c'e' gia' il compilatore vecchio, se ci crea un link tipo con < ln -s /usr/local/bin/gcc gcc > cancellera l'eseguibile.

    > dove ti pare

    Cosa vuol dire dove ti pare, ci sono delle directory ben precise dove Linux cerca i binari

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    296
    In effetti, /usr/local/lib è strano, ma è possibile che gli abbia dato per errore quella.
    Un link simbolico non si deve necessariamente chiamare gcc: io ad esempio in /usr/bin ho gcc-2.95 e gcc-3.0, più un link gcc che punta a gcc-2.95.
    Ora, mettere /usr/local/lib in $PATH non mi sembra molto furbo, visto che ha un programma solo ma, probabilmente, molte librerie con permessi d'esecuzione.
    "dove ti pare" vuol dire in un'altra directory che hai in $PATH: io userei /usr/bin (anche per motivi di distribuzione, debian), ma potrebbe usare anche /usr/local/bin (come fanno molte distro), oppure /bin (sconsiglio), oppure ~/bin (ce c'è), o altro.
    Se dici:
    "In /usr/bin c'e' gia' il compilatore vecchio, se ci crea un link tipo con < ln -s /usr/local/bin/gcc gcc > cancellera l'eseguibile."
    No, ti dà semplicemente un messaggio di errore:
    "ln: `gcc': Il file esiste"
    o qualcosa di simile.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.