Voy a explicar mi periplo con final feliz:
Yo quería instalar VMware Player, así que entro en la página web y me
descargo el tar.gz:
http://download3.vmware.com/software/vmplayer/VMware-player-2.0.3-80004.i386.tar.gz
Los pasos para instalarlo no son nada del otro mundo:
$ tar xzf VMware-player-2.0.3-80004.i386.tar.gz
$ cd vmware-player-distrib
# ./vmware-install.pl
Y el script se ejecuta bien, sin ningún problema. Voy respondiendo a todas
las preguntas con la respuesta por defecto (porque da la casualidad que es
la correcta).
Al finalizar la instalación, dice que no se ha configurado, y que hay que
hacerlo antes de ejecutar vmplayer. Así que acepto la ejecución del script
/usr/bin/vmware-config.pl
Ahora también voy aceptando las preguntas que hace con la respuesta por
defecto, hasta...
Hasta la pregunta:
What is the location of the directory of C header files that match your
> running
> kernel? [/usr/src/linux/include]
Como no tengo el código fuente del kernel, no puedo aceptar esta pregunta,
así que escribo:
/usr/include
Entonces pregunta que si estoy seguro:
The header files in /usr/include are generally for C libraries, not for the
> running kernel. If you do not have kernel header files in your /usr/src
> directory, you probably do not have the kernel-source package installed.
> Are
> you sure that /usr/include contains the header files associated with your
> running kernel? [no]
Si contesto que no, termina el script y hay que volver a ejecutarlo, así que
no tengo otra que decir que sí, a lo que me responde:
The directory of kernel headers (version 2.6.18) does not match your running
> kernel (version 2.6.18-6-686). Even if the module were to compile
> successfully, it would not load into the running kernel.
>
> What is the location of the directory of C header files that match your
> running
> kernel? [/usr/src/linux/include]
Genial! Vaya tela!! Pues ala, ya que estoy...
# vi /usr/include/linux/version.h
y en la primera línea pone:
#define UTS_RELEASE "2.6.18"
así que le añado lo que le falta para que quede así:
#define UTS_RELEASE "2.6.18-6-686"
Así parece que ya me va ha dejar pasar, pero...
The path "/usr/include" is a kernel header file directory, but it is not
> part
> of kernel source tree.
>
> What is the location of the directory of C header files that match your
> running
> kernel? [/usr/src/linux/include]
Ja!!! Que te lo habías creído! Que no quiere.
Nada... me doy por vencido en la lucha de evitar poner las fuentes del
kernel, y hago:
# apt-cache search linux-source
Y me instalo la que corresponde con mi kernel
# apt-get install linux-source-2.6.18
# cd /usr/src
# tar xzf linux-source-2.6.18.tar.bz2
# ln -s linux-source-2.6.18 linux
Ahora creo que me funcionará la respuesta por defecto. Pero... cuando pulso
entrar para aceptar esa ruta me dice:
The path "/usr/src/linux/include" is a kernel header file directory, but it
> does not contain the file "linux/version.h" as expected. This can happen
> if
> the kernel has never been built, or if you have invoked the "make
> mrproper"
> command in your kernel directory. In any case, you may want to rebuild
> your
> kernel.
Vaya por Dios, falta el ficherito linux/version.h. Lo voy a copiar:
# cp /usr/include/linux/version.h /usr/src/linux/include/linux/
y vuelvo a intentarlo y me sale lo mismo pero con autoconf.h. A riesgo de
tener que copiar un montón de ficheros, lo vuelvo a copiar como antes.
De nuevo acepto la ruta por defecto y... agárrate los pantalones, me sale un
mensaje diciendo que no está compilado. Olé ahí. Me toca compilar el kernel.
¬¬
Resignado, hago:
# cd /usr/src/linux
# make oldconfig
# make
nota:* El make oldconfig lo hago para que se coja la configuración por
defecto, que supongo será la que tengo.
Un par de horas después... terminada ya la compilación, vuelvo a dar la
respuesta por defecto a la dichosa preguntita de marras y... ¡POR FIN! pase
a la siguiente pregunta.
Ya puedo seguir pulsando la tecla entrar sin problemas
Solucionado, ya tengo el VMware Player funcionando perfect!