Configuración para un compilador diferente al predeterminado mientras se ejecuta configure

Estoy compilando la biblioteca glibc. Antes de que pudiera hacer eso, necesito correr configure. Sin embargo, para compilar glibc, necesito usar el compilador gcc, que no es el compilador predeterminado en la máquina. El manual dice lo siguiente.

It may also be useful to set the CC and CFLAGS variables in the environment 
when running configure. CC selects the C compiler that will be used, and CFLAGS 
sets optimization options for the compiler.

Ahora mi problema es que no tengo ningún derecho administrativo en esa máquina. Entonces, ¿cómo puedo usar un compilador diferente al predeterminado?

preguntado el 03 de mayo de 12 a las 17:05

./configure CC=gcc no funciona? -

configure --help te explicará lo que necesitas. -

4 Respuestas

En Linux, cualquiera puede cambiar las variables de entorno de su proceso; no se necesita ningún derecho administrativo.

En bash:

export CC="gcc" CFLAGS="-O3 -Wall"

En uso de csh

setenv CC "gcc"

Cualquier programa iniciado en este shell después de dicho comando tendrá una variable CC en su entorno. (Env vars son recordados por bash, csh u otro shell). Puede agregar este comando a su ~/.bashrc para que esta configuración sea permanente.

También hay otras formas de pasar CC para configurar, por ejemplo, en bash es posible establecer la variable de entorno en un solo comando, sin recordar:

CC="gcc" CFLAGS="-O3 -Wall" ./configure ...

PD y popular ./configure CC=gcc no es un cambio de variable de entorno y es específico para configurar la implementación (pero la mayoría de las configuraciones lo admiten)

contestado el 03 de mayo de 12 a las 18:05

También puedes hacer esto cuando ejecutas make:

make CC=/whatever/compiler

contestado el 03 de mayo de 12 a las 18:05

CC=gcc ./configure le permitirá configurar el compilador.

contestado el 03 de mayo de 12 a las 17:05

Haga lo siguiente antes de ejecutar configure.

export CC=gcc_your_version

contestado el 03 de mayo de 12 a las 17:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.