¿Cómo especifico qué se utiliza como el compilador real de C?


1

Tengo una configuración en Mountain Lion que está en problemas:

[snip]
checking for gcc...
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc
checking whether the C compiler works... no
configure: error: in `/Users/jonathan/Downloads/httpd-2.4.4':
configure: error: C compiler cannot create executables
See `config.log' for more details

Mientras tanto, acabo de abrir Xcode e instalar herramientas similares a comandos, incluyendo / usr / bin / gcc.

¿Hay alguna manera de invocar el script de configuración para que tome / usr / bin / gcc como el compilador de C?

Y cuando especifiqué:

CC=/usr/bin/gcc

Da:

checking how to run the C preprocessor... /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc -E
configure: error: in `/Users/jonathan/Downloads/httpd-2.4.4':
configure: error: C preprocessor "/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc -E" fails sanity check
See `config.log' for more details

Por ahora preguntaré: ¿cómo le digo qué usar como preprocesador de C?

(A largo plazo, lo que me gustaría es saber por qué no es consciente de las herramientas de línea de comandos estándar y extrae la funcionalidad relacionada con C de un lugar esotérico.


Tal vez malinterpreté tu pregunta. ¿Revisó el archivo config.log para asegurarse de que no está escribiendo en un directorio donde el usuario actual no tiene permiso de escritura? Esto podría ser más un problema de configuración y no un problema de compilación.
bmike

No verifiqué config.log, pero estaba instalando como root, que tal vez no funciona para el modo 000 sin cambiar el permiso, pero debería ser un privilegio suficiente para lo que estaba intentando
JonathanHayward

Sí, sudo o root deberían ser más que suficientes para evitar cualquier problema de instalación. Si el instalador deja caer cosas donde hay una ACL u otro bloqueo de escritura explícito, me sorprendería mucho.
bmike

Que hay en config.log
Mark

Respuestas:


1

De manzana gcc binario es realmente llvm .

Mac:~ bmike$ which gcc
/usr/bin/gcc
Mac:~ bmike$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Querrás obtener gcc de homebrew o desde la fuente si necesita gcc y no llvm para gcc.

La buena lectura abunda en varios blogs:

Una vez que hayas conseguido una versión real de gcc instalado, puedes export CC=/usr/local/bin/gcc o cualquier otra cosa que prefiera para configurar la variable de entorno para que coincida si elige almacenar su compilador ahora no basado en llvm.


Sin embargo, probablemente no necesites un gcc real. llvm debería ser suficiente y en muchos casos es mejor.
Mark

Mark tiene razón en que, a largo plazo, la compilación de su paquete bajo LLVM es ideal, pero a menudo, si está descargando algo que espera gcc y prueba gcc y falla cuando no se detecta gcc, solo obtener gcc es la solución conveniente.
bmike
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.