2012-04-29 17 views
6

Ho problemi a trovare l'homebrew per lavorare su Lion. Per qualche ragione, sta prendendo clang piuttosto che gcc.Homebrew non riesce a trovare gcc

==> Upgrading gnutls 
... 
checking for gcc... 
/usr/bin/clang checking whether the C compiler works... no 

'brew medico', dice:

We couldn't detect gcc 4.2.x. Some formulae require this compiler. NOTE: Versions of XCode newer than 4.2 don't include gcc 4.2.x. 

NOTA: ho già installato gli strumenti della riga di comando da XCode, tra cui gcc.

$ which gcc 
/usr/bin/gcc 
$ gcc -v 
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00) 

Come posso forzare brew per utilizzare gcc?

risposta

12

Dopo Xcode 4.2, Apple ha interrotto la distribuzione di gcc con Xcode. Invece, distribuiscono llvm-gcc (e clang), che sono non gcc. Puoi vederlo con gcc -v, come hai fatto tu: mostra LLVM build.

Per utilizzare gcc, è necessario compilarlo da soli. C'è una formula homebrew per questo, ma dovrai toccare homebrew/dupes con brew tap homebrew/dupes.

Nota che ad oggi la formula gcc non funziona se compilata con clang. Devi installarlo con brew install --use-llvm gcc.

Si noti inoltre che Homebrew ricerca esplicitamente gcc-4.2. Dovrai creare un link simbolico per Homebrew per trovare gcc.

+0

Grazie per l'informazione. Ho provato 'brew tap', ma la mia versione di brew era troppo vecchia per questa nuova funzione, e 'brew upgrade' è come ho ottenuto l'errore nella mia domanda iniziale, quindi sono rimasto bloccato. Ho finito per risolvere il mio problema la mia disinstallazione brew (vedi [qui] (https://github.com/mxcl/homebrew/wiki/FAQ/1ef6c2cf55db89252949c7bb2908abe093a3414a)), quindi reinstallando (vedi [qui] (https://github.com)/MXCL/homebrew/wiki/installazione)). Ho anche dovuto fare alcuni passaggi extra prima di reinstallare, perché avevo installato brew come root, ad es. "sudo rm /usr/local/.git". Alla fine, non avevo bisogno di un nuovo gcc. – ishmael

+1

@ishmael Questa è la differenza tra 'brew update' (Homebrew stesso) e' brew upgrade' (formule). –

+0

Per me, --use-llvm errore quando si esegue il bootstrap. 'brew install --use-gcc gcc48' funziona per me. – xgdgsc