La Web del Programador: Comunidad de Programadores
 
    Pregunta:  50956 - CHECKING FOR C COMPILER DEFAULT OUTPUT FILE NAME... CONFIGUR
Autor:  Alex Bartroli
Hola,

intento instalar la Berkeley DB 4.5 en una red y me sale este error:

checking for C compiler default output file name... configure: error: C compiler cannot create executables

He mirado en otros foros y pone que la solucion es cambiar el valor de la variable CFLAGS, y ponerla como CFLAGS=-02

El problema que tengo es que no se donde localizar esa variable. Estoy haciendo el proyecto en un laboratorio y el instalador de la red no ha utilizado los paths recomendados por el GNU, asi q no se donde buscar el fichero ni que nombre tiene el fichero.

SABE ALGUIEN EL NOMBRE DEL FICHERO DONDE ESTA LA VARIABLE CFLAGS??

El comando de linux "export" no lo puedo utilizar, asi q no puedo cambiar cambiar el Flag de esta forma!!! Si se el nombre del fichero q contiene la varible lo puedo localizar usando el "find". Si hay otra forma de hacerlo, pos yo encantado!!!!!!!

Gracias de antemano,

Alex

  Respuesta:  Tom Sobota
Alex,
No creo que sea un problema de CFLAGS. Más bien fíjate en el log del configure (se llama config.log) y ahí puedes ver por qué no te compiló.

CFLAGS es una variable que se pone normalmente en un fichero Makefile y contiene flags para el compilador C. La opción -O2 simplemente le indica al compilador que optimice más el código generado.

En tu caso, es un script llamado 'configure' que genera los Makefiles. Entonces, los flags se los tienes que indicar a 'configure'. En general, el comando

# ./configure --help

te dirá qué flags se le pueden pasar a un determinado configure. Los flags que van directamente al compilador, como es el caso de CFLAGS se ponen así:

# ./configure CFLAGS=-O2

o, si fueran más de uno,

# ./configure CFLAGS="-O2 -I/usr/local/include"

etc.

Al mirar luego el o los Makefiles generados (se llaman así: Makefile y pueden haberse generado varios en diferentes directorios) verás que figura el CFLAGS tal como lo has puesto.

Pero ya te digo, no creo que sea eso. Fíjate en el config.log, que estará en el mismo directorio que el script configure.

Un saludo
Tom