I´ve been using vmware 3.1.6 on xubuntu 12.04 by way of a patch and it worked pretty good. I have to use 3.1.6 because I have to use these 32-bit laptops and 3.1.6 is the last version which lets me install on non-64-bit hardware.
Here´s the patch I´ve been using: Patch
Now after updating to xubuntu 14.04 there´s no way for me to get it working again. I´ve tried with the upgraded install, cleaned the modules, tried with a completely new clean install, different patches etc. but now I´m at the end of my abilities.
Here´s the usual way I do the install:
sudo bash VMware-Player-3.1.6-744570.i386.bundle
Then link the new kernel-headers:
sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h
Install the build-essentials:
sudo apt-get install build-essential linux-headers-$(uname -r)
Apply the patch:
sudo bash patch-modules_3.2.0.sh
I now get this error:
patching file vmblock-only/linux/dentry.c
patching file vmblock-only/linux/filesystem.c
patching file vmci-only/linux/driver.c
patching file vmmon-only/linux/driver.c
patching file vmmon-only/linux/hostif.c
patching file vmmon-only/linux/iommu.c
patching file vmnet-only/compat_netdevice.h
patching file vmnet-only/driver.c
patching file vmnet-only/filter.c
patching file vmnet-only/hub.c
patching file vmnet-only/netif.c
patching file vmnet-only/userif.c
patching file vsock-only/linux/af_vsock.c
patching file vsock-only/linux/util.c
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: Gehe in Verzeichnis '/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/3.13.0-34-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-3.13.0-34-generic'
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o
In file included from /tmp/vmware-root/modules/vmmon-only/./include/vcpuset.h:103:0,
from /tmp/vmware-root/modules/vmmon-only/./include/modulecall.h:37,
from /tmp/vmware-root/modules/vmmon-only/./common/vmx86.h:33,
from /tmp/vmware-root/modules/vmmon-only/linux/driver.h:29,
from /tmp/vmware-root/modules/vmmon-only/linux/driver.c:100:
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h:2185:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
^
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h:2348:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
^
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h:2185:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
^
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h:2350:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
^
In file included from /tmp/vmware-root/modules/vmmon-only/./include/vmware.h:40:0,
from /tmp/vmware-root/modules/vmmon-only/linux/driver.c:98:
/tmp/vmware-root/modules/vmmon-only/./include/vcpuset.h: In function ‘VCPUSet_Singleton’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
^
/tmp/vmware-root/modules/vmmon-only/./include/vcpuset.h:120:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
ASSERT_ON_COMPILE(VCPUID_INVALID >= 32); // Ensure test below catches invalid VCPUs
^
/tmp/vmware-root/modules/vmmon-only/./include/busmem_def.h: In function ‘BUSMEMDEFS’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
^
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:297:7: note: in definition of macro ‘MY_ASSERTS’
assertions \
^
/tmp/vmware-root/modules/vmmon-only/./include/busmem_def.h:67:12: note: in expansion of macro ‘ASSERT_ON_COMPILE’
ASSERT_ON_COMPILE(sizeof(BusMem_PageList) <= PAGE_SIZE);)
^
/tmp/vmware-root/modules/vmmon-only/./include/pshare_ext.h: In function ‘PSHARE_EXT’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
^
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:297:7: note: in definition of macro ‘MY_ASSERTS’
assertions \
^
/tmp/vmware-root/modules/vmmon-only/./include/pshare_ext.h:62:12: note: in expansion of macro ‘ASSERT_ON_COMPILE’
ASSERT_ON_COMPILE(PSHARE_HINT_UPDATES_MAX <=
^
/tmp/vmware-root/modules/vmmon-only/./include/iocontrols.h: In function ‘VA64ToPtr’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
^
/tmp/vmware-root/modules/vmmon-only/./include/iocontrols.h:77:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
ASSERT_ON_COMPILE(sizeof (void *) == 4);
^
/tmp/vmware-root/modules/vmmon-only/./include/iocontrols.h: In function ‘PtrToVA64’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
^
/tmp/vmware-root/modules/vmmon-only/./include/iocontrols.h:113:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
ASSERT_ON_COMPILE(sizeof ptr <= sizeof (VA64));
^
/tmp/vmware-root/modules/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:2057:26: error: invalid operands to binary == (have ‘kuid_t’ and ‘kuid_t’)
if (current_euid() == current_uid() &&
^
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:2058:20: error: invalid operands to binary == (have ‘kuid_t’ and ‘kuid_t’)
current_fsuid() == current_uid() &&
^
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:2059:26: error: invalid operands to binary == (have ‘kgid_t’ and ‘kgid_t’)
current_egid() == current_gid() &&
^
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:2060:20: error: invalid operands to binary == (have ‘kgid_t’ and ‘kgid_t’)
current_fsgid() == current_gid()) {
^
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/driver.o] Fehler 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-3.13.0-34-generic'
make: *** [vmmon.ko] Fehler 2
make: Verlasse Verzeichnis '/tmp/vmware-root/modules/vmmon-only'
Unable to install vmmon
All done, you can now run VMWare Player.
Modules sources backup can be found in the '/usr/lib/vmware/modules/source-player3.1.6-2014-08-21-12:12:54-backup' directory
Seems there changed a bit with the 3.1 kernel... I've tried different things I found while googling, but nothing worked. Found this on an issue to another thing where the errors seem to be related. But since I'm not a programmer I can´t make anything of it:
http://ubuntuforums.org/showthread.php?t=2217794
Any help on this would be appreciated since I´d like to continue to use some of these old 32-bit laptops here with the 14.04 lts version. But without the vmware player 3.1.6 I use with a already build image and software package I would have to find a completely new emulation solution...