ethyreal Mobile Developer

Running VmWare Workstation 7 on Ubuntu 10.4 Lucid Lynx

Apr 23 2010 - By George Webster

I ran into a problem after upgrading to the latest ubuntu 10.4 lucid. Lucid uses the 2.6.32 kernal which was released after VmWare Workstation 7, so the kernal won't compile with the standard gui or command line:

sudo vmware-modconfig --console --install-all
Stopping VMware services:
VMware USB Arbitrator done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/2.6.32-10-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-10-generic'
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driverLog.o
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/iommu.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/comport.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/hashFunc.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/task.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/vmx86.o
CC [M] /tmp/vmware-root/modules/vmmon-only/vmcore/moduleloop.o
LD [M] /tmp/vmware-root/modules/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-root/modules/vmmon-only/vmmon.mod.o
LD [M] /tmp/vmware-root/modules/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-10-generic'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
Built vmmon module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmnet-only'
make -C /lib/modules/2.6.32-10-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-10-generic'
CC [M] /tmp/vmware-root/modules/vmnet-only/driver.o
CC [M] /tmp/vmware-root/modules/vmnet-only/hub.o
CC [M] /tmp/vmware-root/modules/vmnet-only/userif.o
CC [M] /tmp/vmware-root/modules/vmnet-only/netif.o
CC [M] /tmp/vmware-root/modules/vmnet-only/bridge.o
CC [M] /tmp/vmware-root/modules/vmnet-only/filter.o
CC [M] /tmp/vmware-root/modules/vmnet-only/procfs.o
CC [M] /tmp/vmware-root/modules/vmnet-only/smac_compat.o
CC [M] /tmp/vmware-root/modules/vmnet-only/smac.o
CC [M] /tmp/vmware-root/modules/vmnet-only/vnetEvent.o
CC [M] /tmp/vmware-root/modules/vmnet-only/vnetUserListener.o
/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

So as a work around I had to add a couple a line to two files ( pgtbl.h and vnetUserListener.c ).

cd /tmp
tar xf /usr/lib/vmware/modules/source/vmnet.tar
tar xf /usr/lib/vmware/modules/source/vmci.tar
cd vmnet-only
gedit vnetUserListener.c 

Search for the line with #include "vnetInt.h" , then add #include "compat_sched.h" below it.

Save and close.

cd /tmp/vmci-only/include
gedit pgtbl.h

Find the line with #include "compat_page.h" , then add #include "compat_sched.h" under it.

Save and close. Then a couple more commands:

cd /tmp
sudo tar cf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only
sudo tar cf /usr/lib/vmware/modules/source/vmci.tar vmci-only

Should be good to go. Starting up VmWare from the commandline:

sudo vmware

Recent Posts

Categories

© 2012 ethyreal.com