Estoy usando Homebrew exclusivamente (es decir, no uso y no utilizaré MacPorts o Fink). También quiero mantener las instalaciones manuales al mínimo. 1
... Pero, ¿cómo puedo instalar GCC?
En primer lugar, por supuesto, he instalado Xcode, pero la versión actual no se envía con un GCC bastante actualizado (necesito un mínimo de 4.5, pero preferiría el más reciente); de hecho, no se envía con un GCC adecuada en todo (sólo barcos Clang) y que parece ser un problema para Homebrew ...
Conozco una lista de GCC personalizados y compiladores cruzados, pero de hecho, todas esas instalaciones requieren un GCC ya instalado, al menos, brew
fallan con errores de enlazador en Lion que atribuyo a Clang, y -use-gcc
no funciona para obvio razones.
brew doctor
solo menciona lo que ya sé, que no hay GCC (4.2.x) instalado.
1 Anteriormente mezclé MacPorts, Homebrew y algunas instalaciones manuales y terminé con un infierno de mantenimiento y versiones. No quiero ir allí de nuevo.
gcc --version
? Obtuvei686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
y simplemente instalé Xcode desde el MAS. Además, ¿cuál es la salida deecho $PATH
?$PATH
es lo habitual (este es un sistema casi en blanco, después de todo):/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
... pero no creo que esto importe. Las fórmulas proporcionadas por homebrew-alt simplemente están desactualizadas y no funcionan con Clang.Respuestas:
La solución proporcionada por @Konrad Rudolph ya no es del todo correcta, ya que la fórmula del CCG que mencionó se trasladó de
homebrew/dupes
ahomebrew/versions
. Puede elegir qué versión de GCC instalar. Por ejemplo, al momento de escribir esta respuesta, las versiones 4.5, 4.7 y 4.8 están disponibles. Puede consultar qué versiones están disponibles aquí .En resumen, puede instalar GCC 4.8 utilizando
Puede ver los indicadores de instalación disponibles utilizando
fuente
gcc-4.8 hello.c
gcc-4.8: error trying to exec 'as': execvp: No such file or directory
[flags]
? En mis máquinas, lo instalé sin banderas y funciona bien. ¿Por qué no intentas llamargcc-4.8
sin ningún archivo de entrada y ver si obtienes un error fatal? También intentels /usr/local/Cellar/gcc48/4.8.0/bin
y vea si ese directorio contienegcc-4.8
.gcc-4.8 --version
ejecuta, pero no se puede ejecutar a la herramienta secundaria llamadaas
y, por lo tanto, muere.alias g++='g++-4.8'
su.bashrc
.Solución casera
Para responder a mi propia pregunta,
homebrew-versions
ahora tiene una fórmula bastante actualizada de GCC . Se puede instalar usandoDonde
[flags]
debe incluir todos los idiomas requeridos, por ejemplo (--enable-cxx --enable-fortran
).Esto instalará los ejecutables con un sufijo, es decir,
gcc
se debe accedergcc-version
para evitar conflictos. Si es necesario, se pueden crear enlaces simbólicos apropiados para que esta versión sea la predeterminada.Instalación manual
Alternativamente , un GCC actualizado (en el momento de la escritura) puede compilarse manualmente usando el siguiente script de shell:
Esto colocará a GCC en el camino
/usr/gcc-4.7.0
. Ahora todo lo que necesita hacer es crear enlaces simbólicos a los ejecutables o agregar elbin
directorio a la$PATH
variable.fuente
brew tap homebrew/dupes
seguido debrew install apple-gcc42
. Esto me ayudó a conseguir un gcc y un vino que funcionen. También puede obtener los archivos binarios (como lo hace homebrew) desde aquí: r.research.att.com/toolsbrew tap homebrew/dupes; brew install gcc --use-llvm
. Ver github.com/Homebrew/homebrew-dupes/issues/20Hoy vi a alguien vincularse a esta vieja publicación. La mejor manera de instalar GCC en homebrew en este momento es simplemente
brew install gcc
. Si tienexcode-select --install
instaladas las herramientas de línea de comandos XCode (están separadas de XCode; puede instalarlas ), se instalará una versión precompilada (que es muy rápida).fuente
Yo también tuve este problema. Además, necesito usar gfortran, que no viene con la instalación estándar (obsoleta) de llvm-gcc de Mac.
He descubierto que las compilaciones de computación de alto rendimiento de gcc están actualizadas y funcionan muy bien en Lion.
fuente
En caso de que alguien vea este viejo hilo, parece que homebrew / versiones, usadas en la respuesta actualmente aceptada, han quedado en desuso a favor de homebrew / core . Solo corre
brew install <formula>
.fuente
Puede probar esto: https://github.com/kennethreitz/osx-gcc-installer : lo he utilizado con éxito después de actualizar a Lion para compilar paquetes con Homebrew y otros (Ruby).
De la leeme:
Instalador OSX GCC Descargar e instalar el instalador masivo de Xcode es una gran molestia si solo desea GCC y herramientas relacionadas.
El instalador osx-gcc le permite instalar los compiladores esenciales desde paquetes binarios precompilados o lo ayuda a crear su propio instalador.
fuente
/usr/bin/gcc
es un enlace simbólico a llvm gcc, pero la referencia explícita/usr/bin/gcc-4.2
o la configuraciónexport CC="gcc-4.2"
en su archivo .bash_profile o en el archivo adecuado también mitigan el problema. (Véase también esta pregunta de desbordamiento de pila .)