2010-12-30

VMWare workstation su Debian 5.0.4 con kernel 2.6.32

Installato VMWare sulla mia nuova installazione di Debian 5.0.4 montata su processore AMD 64bit, ho incontrato degli errori in fase di configurazione
vmware-modconfig --console --install-all
...
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c: In function ‘VNetUserListenerEventHandler’:
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: (Each undeclared identifier is reported only once
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: for each function it appears in.)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c: In function ‘VNetUserListenerRead’:
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: implicit declaration of function ‘signal_pending’
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: implicit declaration of function ‘schedule’
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/vnetUserListener.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-10-generic'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmnet-only'
Unable to install vmnet

la compilazione dei moduli non viene eseguita correttamente per un mancato #include in due sorgenti distinti, googl-ando in giro ho trovato la soluzione all'indirizzo http://blog.gnu-designs.com/solved-building-vmware-workstation-modules-on-linux-2-6-32 che riporto di seguito:
tar xvf /usr/lib/vmware/modules/source/vmnet.tar -C /tmp
tar xvf /usr/lib/vmware/modules/source/vmci.tar -C /tmp

cd /tmp

perl -pi -e 's,("vnetInt.h"),\1\n#include "compat_sched.h",' vmnet-only/vnetUserListener.c
perl -pi -e 's,("compat_page.h"),\1\n#include "compat_sched.h",' vmci-only/include/pgtbl.h

tar cvf /usr/lib/vmware/modules/source/vmnet.tar /tmp/vmnet-only
tar cvf /usr/lib/vmware/modules/source/vmci.tar /tmp/vmci-only
In pratica queste poche righe di comandi shell estraggono i sorgenti dei moduli da compiare dai pacchetti che li contengono, effettuano la modifica necessaria e ricreano di nuovo i pacchetti con i sorgenti modificati.
Poi va rieseguito:
vmware-modconfig --console --install-all
per ripetere l'operazione con i sorgenti modificati.

Nessun commento:

Posta un commento