[LUG.ro] GCC del redhat 9.x una obra maestra del terror
Ricardo Barberis
lugro@lugro.org.ar
Wed, 25 Feb 2004 10:20:13 -0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
El Miércoles 25 Febrero 2004 09:45, Horacio Castellini escribió:
> 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.
Horacio, desde ya que no soy un experto, pero lo que si se es que el
problema es porque a partir de la version 3 el gcc es mas estricto en
cuanto al codigo y con cada aumento de version menor se va haciendo mas
estricto, por eso con la version "vieja" no te daba problemas.
Mas abajo te tiro unos ejemplos.
> Ahora bien el tipo de compilador c++ que tiene es:
>
> hcaste@grela:~/tmp$ c++ -c -v hola.cc
> 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
> gcc version 2.95.4 20011002 (Debian prerelease)
La version es lo importante.
> 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
OK, no se en el caso de cerr, pero ostream lo he visto como std::ostream
para poder usarlo con gcc 3.x
> 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
[...]
> Fin de la lista de búsqueda.
>
> Alguna solución para colocar en los Makefile? no puedo tocar el
> sistema...
Solucion no creo, pero espero que al menos te oriente :-)
Saludos.
- --
Ricardo Barberis
Usuario Linux Nº 250625: http://counter.li.org
Usuario LFS Nº 5121: http://www.linuxfromscratch.org
LFS en castellano: http://www.lfs-es.org
Senior SysAdmin - Dattatec.com - Hosting Solutions
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
iD8DBQFAPKEOnabpmElFaJkRAkcBAJ93aImn5OOdA7KGX35aEsp07ukuuACePdxv
cjY8B+w7Hl6nyx6Os1OThu4=
=If+H
-----END PGP SIGNATURE-----