domingo, 19 de octubre de 2008

gcc: error trying to exec 'cc1plus': execvp: No such file or directory

Las clases han vuelto y con ellas los "problemas". En la asignatura de Algoritmos, vamos a programar en C "yupi", y como es lo normal, no usaremos un compilador chachi con interfaz, depuración por pasos, poder añardir banderillas y demás, usaremos GCC (GNU Compiler Collection) que es el que está instalado, o mejor dicho viene con el Ubuntu de los ordenadores de los laboratorios de la facultad.

Pero en casa es diferencte, o no? intentas instalar algo con lo que te sientas cómodo, algo que no te de mucho chollo en los deberes, así que me instalo el Turbo C de borland para MS-DOS, pero a la primera de cambio compilando una práctica sencilla ya muestra algún problemilla, como por ejemplo que la librería time.h no está dentro de la carpeta Include\sys sino en Include y el tipo "timeval" no es reconocido... uy mejor nos cambiamos.

Así que googleando un poco, no encontramos con una versión de GCC para Windows llamada MinGW. Podemos ver las instrucciones de instalación y descarga aquí. Pero esto sigue sin funcionar del todo bien. :-( maldito struct timeval t;

Con toda esta serie de desastres consecutivos, te das cuenta de que necesitas un Ubuntu, así que te montas una "Maquina Virtual" con la versión Desktop del SO, que es lo que está de moda. Esto es genial, un par de pasitos, tenemos el entorno listo. Abrimos una ventana de terminal, y ... coño, pero si ya tenemos el gcc instalado, vale normal, está echo en C, supongo que se utilizará para recompilaciones de Kernel y cosas de estas que hace la gente en linux. Genial, con esto vamos por buen camino, o eso creía....

Pasamos la práctica aal Pc con linux damos a compilar gcc P1.C ...... Error, Mierda y me dice algo como "gcc: error trying to exec 'cc1plus': execvp: No such file or directory" , pero vamos a ver que es un práctica de 30 líneas, y llevo peleandome con esto 3 horas... volvemos a googlear, y encuentras entradas que dicen algo de VMWare, pero que pasa, que no voy a poder compilar con mi "Ubuntito Virtualizado", pues no resulta que por lo que he visto, a alguna persona le ha dado el mismo error tratando de instalar la versión server de VmWare, si ya lo decía yo "mis 30 líneas de código se las trae", bueno la solución a todo esto (en linux), es usar el apt-get, que por lo que veo, va a ser solución de muchas más cosas, la verdad es que está bien pensado, y no como en aquella época en la que Mandrake 7.1 (otra distro con la que también me ví obligado a pelearme) con la instalación desde la línea de comandos de los paquetes "rpm", ya llovió.

Bueno que no me enrrollo, para arreglar el problema del compilador lo que debemos hacer es llamar al apt-get y decirle que empiece a trabajar:
  • Abrimos una shell(ventana de terminal)
  • Nos cambiamos a modo root (su root y nos pide la pass)
  • Ejecutamos sudo apt-get install g++
Con esto se resuleve le problema del maldito mensaje "gcc: error trying to exec 'cc1plus': execvp: No such file or directory" no estoy seguro que sea extrictamente necesario cambiarse a root, yo lo necesité, pero no tengo mucha idea sobre linux. Con esto aún me sigue dando un mensaje de error que dice algo como referenece no encontrata __gxx_personality_v0, pero bueno ahora le duele en otro lado y supongo que voy por el buen camino, o por lo menos voy por uno.

Yo siempre trato de darle cariño a los linux, pero siempre acabamos a mal, es por eso que esta relación nunca puede funcionar.

Espero que os sirva de algo.

Saludos a tod@s