[LUG.ro] GCC del redhat 9.x una obra maestra del terror
Horacio Castellini
lugro@lugro.org.ar
Wed, 25 Feb 2004 09:45:36 -0300 (ART)
Hola:
Tengo un problema en una máquina en la cuál soy usuario y no
adminstrador... es una máquina con smp. Que me permite correr programas de
calculos. Tiene un mecanismo de update automático que viene con la versión
non-free del RedHat 9.??? El compilador gcc de RH tiene de ahora en más
sus soluciones propias incompatibles con la licencia GPL.
Ahora bien el tipo de compilador c++ que tiene es:
hcaste@grela:~/tmp$ c++ -c -v hola.cc
Leyendo especificaciones de /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Configurado con: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--host=i386-redhat-linux
Modelo de hilos: posix
gcc versión 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
El compilador donde no tengo problema es:
hcaste@clara:~/tmp$ c++ -c -v hola.cc
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
gcc version 2.95.4 20011002 (Debian prerelease)
/usr/lib/gcc-lib/i386-linux/2.95.4/cpp0 -lang-c++ -v -D__GNUC__=2
-D__GNUG__=2
Cuando un compilo un código fuente con el compilador RH me manda estos
problemas que no me los manda en Debian ni en un copilador ANSI C++ de
BSD, el codigo compila en otros no en el RH 9.XXX non-free. Los errores
son:
g++ -DKMAX=1000000 -DTAU=120 -I/home/hcaste/include/ -O2 -c rosler2.cc -o
rosler2.o
En el fichero incluído de /home/hcaste/include/falgebra.h:8,
de /home/hcaste/include/futil.h:10,
de rosler2.cc:4:
En el fichero incluído de /home/hcaste/include/falgebra.h:8,
de /home/hcaste/include/futil.h:10,
de rosler2.cc:4:
/home/hcaste/include/ferror.h: En function `void error(char*, char*)':
/home/hcaste/include/ferror.h:42: `cerr' sin declarar (primero use esta
función)
/home/hcaste/include/ferror.h:42: (Cada identificador sin declarar es
reportado
sólo una vez para cada función en el que aparece.)
En el fichero incluído de /home/hcaste/include/futil.h:10,
de rosler2.cc:4:
/home/hcaste/include/falgebra.h: At global scope:
/home/hcaste/include/falgebra.h:72: ISO C++ prohibe la declaración de
`ostream'
sin tipo
/home/hcaste/include/falgebra.h:72: `ostream' no es ni función ni función
miembro; no puede ser declarado friend
el archivo de encabezados futil.h hace una llamada a iostream.h asi que no
puede ser que cerr no esté prototipada, si figura el prototipo en el
iostream.h, por otro lado la el metodo miembro ostream está en el ambito
de "public" como que prohibe la declaración ostream???. Mas detalles sobre
el "spech search"... son estos...
hcaste@grela:~/tmp$ c++ -c -v hola.cc
Leyendo especificaciones de /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Configurado con: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--host=i386-redhat-linux
Modelo de hilos: posix
gcc versión 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/cc1plus -v -D__GNUC__=3
-D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=2 -D__GXX_ABI_VERSION=102
-D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__
-D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix
-D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386
-Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i386__ hola.cc
-D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -quiet -dumpbase hola.cc
-version -o /tmp/ccWBErrQ.s
GNU CPP versión 3.2.2 20030222 (Red Hat Linux 3.2.2-5) (cpplib) (i386
Linux/ELF)GNU C++ version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
(i386-redhat-linux)
compiled by GNU C version 3.2.2 20030222 (Red Hat Linux 3.2.2-5).
ignorando el directorio inexistente "/usr/i386-redhat-linux/include"
la búsqueda de #include "..." inicia aquí:
la búsqueda de #include <...> inicia aquí:
/usr/include/c++/3.2.2
/usr/include/c++/3.2.2/i386-redhat-linux
/usr/include/c++/3.2.2/backward
/usr/local/include
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include
/usr/include
Fin de la lista de búsqueda.
Alguna solución para colocar en los Makefile? no puedo tocar el sistema...