UPDATE2: I’ve changed the patch to support the weird versioning in the fedora kernels.
UPDATE: I’ve added in the list of supported versions 8.0.1 and 4.0.1 for vmware player, so the script will run with no modifications but remember that when vmware releases a new minor most probably changing the version at the top of the script (or applying the patch manually) will work fine.
Even though vmware just released vmware workstation 8.0 it seems that also this time they didn’t look forward to the kernel which is going to come out in just some weeks. So users again this time will have to rely soon on patches in order to get vmware to work on their linux boxes.
At least this time the fix was quite easier to make.
You can find it here togheter with the script to patch it automatically: vmware8linux31fix.tar
Attached Files:
- vmware8linux31fix.tar
Patch and script to fix the build of kernel modules from vmware on linux 3.1 and newer
I’m sorry, but how can I apply this patch?
run by root command
./patch-modules_3.1.0.sh
extract the archive and run the sh script as root
Thanks! Your patch works great on my Gentoo system.
[...] Weltall's blog Tweet Categoría: virtualizacion Etiquetas: Virtualizacion, vmware noviembre 10th, 2011 No comments yet Raist ¿Algo que añadir? o cancela tu respuesta [...]
Don’t work for me!!!
When I try to run a VM an error appear.
“Version mismatch with vmmon module: expecting 264.0, got 238.0.
You have an incorrect version of the `vmmon` kernel module.
Try reinstalling VMware Workstation.”
Linux Kernel 3.1.0-7.fc16.x86_64
Workstation 8.0.0-471780.x86_64
I’d go for the suggestion of the message and clean up also the vmware modules folder in /lib/modules (be careful there are also other modules there)
works perfectly – fedora16
Works perfectly in Fedora 16? How did you do it? I can’t install VmWare Workstation 8 in Fedora 16, ehwn i run the patch works fine and do not throw me any error, but when i try to run my VMware Workstation throw me the error of GCC 4.6.2.
Sorry for my english, i’m from Mexico. Thank you and i hope you can help me.
You’ve made my Fedora 16 upgrade complete. Thank you.
Thanks! This patch worked for me on Fedora 16 with VMware Player.
Thanks!, works great on Fedora 16!.
Ok, gracias me ha servido mucho, estoy usando Fedora 16 “Verne” y ha compilado bien, ahora a cargar las imágenes.
Que onda mi buen! Oye cómo le hiciste que a mi no me sale, ya corrí el parche pero me sigue mandando el error de GCC 4.6.2… espero me puedas ayudar, y cuales fueron los pasos que seguiste para instalar de forma correcta en Fedora 16. Gracias
Thanks! Your patch works on Ubuntu 10.04LTS 64 bit.
Great work, although it didn’t initially work for me and I tracked the problem down to this line of the patch script:
find “$basedir” -name “*.tar” -exec tar xf ‘{}’ \; || exit 4
I think when you upgrade VMWare, you end up with old tar files in /usr/lib/vmware/modules/source. At least I had files from last year there in vmmon-orig.tar and vsock-orig.tar. Since this script blindly extracts *.tar, those ended up overwriting the contents of the newer files and caused a compile failure later.
Perhaps the script could be written to only extract the required .tar files by name. Or, users can just be sure to check their /usr/lib/vmware/modules/source before running the patch script to ensure that there are no extraneous tar files.
Anyway, thanks for writing the patch!
Hello from Japan!
It worked for me, too.
Thank you sir.
Thank you again for your services to the community. Might you reproduce your previous feat of providing a patch for the VMware Tools for Linux Guests, or suggest how this WS/Player patch for Linux Hosts could be suitably modified.
do you have a live cd suggestion to try this fast? if it includes 3.2 it would be even better. (also I’ve 8.x now)
Thank you so much for this patch. It works perfectly every time. At most I have to change 8.0.0 to 8.0.1 for the very small WS 8 upgrade. Shame on VMware for not including this patch in the product.
Hi
When I try to run the file, I keep getting
./patch-modules_3.1.0.sh: line 41: patch: command not found
I am running Fedora 16 with Kernel 3.1.1-1.fc16.x86_64
Both files where extracted to the same folder.
Please help.
Hi.
No problems. There is no cure for being stupid. It struck me 2 minutes past 12 this morning, i never installed ‘patch.’
The patch works excellent.
I just tried to install vmware 8 on SUSE 12.1 (just released today) and got an error that was SOLVED by this patch.
Thanks !
Patch worked for me. Excellent work!
Works very well for me with kernel 3.1.1 on Fedora 16 x86_64. Thanks!
Thanks! It works great on openSUSE 12.1 (Kernel 3.1.0)
Hello,
seems to be that i´m the first with opensuse 12.1
Patch did work as expected and so a very great thank you for helping me to get vmware 8 running on opensuse 12.1
Hello, Thanks for the guide. Unfortunately, I loaded up fedora today, and updated the system…well, it updated the kernel to 3.1.1-1 and this isn’t working for that kernel. Any pointers on getting this to work on 3.1.1-1?
Thanks!
Nathan
what sort of errors you get? it would be weird if they merged some 3.2 api changes back in 3.1.
It’s working now in 3.1.1-1. I must have missed something. Thanks for the response!
hi,
i have fresh install of fedora 16 64bit i would like can install vmware workstation 8 with kernel headers 3.1.1-1.fc16.x8664 but i start script_fix it errors generate in my terminal ” ./patch-modules_3.1.0.sh:line 41:patch:command not found”.
thanks for your response,
install patch. I wonder why fedora decided to remove it from their distro defaults.
hi, I lauch it, i’m restart with previous kernel and i use your patch’s and reboot with new kernel(3.1.1) ,launch vmware in terminal it compil himself and run.
thanks
Oh, i downloaded and installed VMWare Player, took me 3 hours on my bad connection – just for other people who got a bad conn like me – this patch is for 4.0.0 only and wont work on 4.0.1.
just change the version in the script or apply manually
With the VMware Workstation update released November 17th, I had to change the version required variable to 8.0.1 at the top of the script. Prior to that, it failed with a note that Player 4.0 or Workstation 8.0 were required. Hope this is helpful until it is updated. After this, the patch works well.
Will the patch work with 3.1.1 kernels? Haven’t tried that.
Maybe there could be a vmreqver >= 8
vmreqver=8.0.1
best,
fellow
should work as stable kernels usually keep a stable API.
Thanks for pointing out the new release
Could you help? I downloaded kernel 2.6.41.1-1.fc15.x86_64 and then couldn’t get workstation v8 modules to compile. I downloaded v8.0.1 and got the same message. I applied your patch (modifying the script to allow for 8.0.1) and started the workstation, and it still tells me I have to compile the modules — and that fails again.
What am I missing?
[...] downloaded a patch from Weltall’s blog: vmware8linux31fix.tar.gz. Then, I extracted and ran the [...]
Hmm….tried that patch and, while the patch succeeds, attempting to launch vmware afterward results in:
Logging to /tmp/vmware-root/modconfig-17061.logfilename: /lib/modules/3.1.0-1.2-desktop/misc/vmmon.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
srcversion: 4E51C099E8EEF1FB26DE021
depends:
vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
filename: /lib/modules/3.1.0-1.2-desktop/misc/vmnet.ko
supported: external
license: GPL v2
description: VMware Virtual Networking Driver.
author: VMware, Inc.
srcversion: 84ED6E3E54EBA64005781F5
depends:
vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
filename: /lib/modules/3.1.0-1.2-desktop/misc/vmblock.ko
supported: external
version: 1.1.2.0
license: GPL v2
description: VMware Blocking File System
author: VMware, Inc.
srcversion: 41F3B88F064DD85BCE8AFCC
depends:
vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
parm: root:The directory the file system redirects to. (charp)
filename: /lib/modules/3.1.0-1.2-desktop/misc/vmci.ko
supported: external
license: GPL v2
version: 9.1.18.0
description: VMware Virtual Machine Communication Interface (VMCI).
author: VMware, Inc.
srcversion: F659B534EA5CC5FFD4A08BF
alias: pci:v000015ADd00000740sv*sd*bc*sc*i*
depends:
vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
parm: disable_host:Disable driver host personality - (default=0) (bool)
parm: disable_guest:Disable driver guest personality - (default=0) (bool)
parm: disable_msi:Disable MSI use in driver - (default=0) (bool)
parm: disable_msix:Disable MSI-X use in driver - (default=0) (bool)
filename: /lib/modules/3.1.0-1.2-desktop/misc/vsock.ko
supported: external
alias: vmware_vsock
license: GPL v2
version: 9.1.1.0
description: VMware Virtual Socket Family
author: VMware, Inc.
srcversion: 5A37036862692504058A712
depends: vmci
vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
filename: /lib/modules/3.1.0-1.2-desktop/misc/vmmon.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
srcversion: 4E51C099E8EEF1FB26DE021
depends:
vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
process 17056: Attempt to remove filter function 0x7fcbf4fe0980 user data 0x7fcc07657640, but no such filter has been added
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted
Log file contents:
2011-12-01T09:05:25.720+12:00| vthread-3| I120: Log for VMware Workstation pid=17061 version=8.0.0 build=build-471780 option=Release2011-12-01T09:05:25.720+12:00| vthread-3| I120: The process is 64-bit.
2011-12-01T09:05:25.720+12:00| vthread-3| I120: Host codepage=ISO-8859-1 encoding=ISO-8859-1
2011-12-01T09:05:25.720+12:00| vthread-3| I120: Host is Linux 3.1.0-1.2-desktop openSUSE 12.1 (x86_64)
2011-12-01T09:05:25.720+12:00| vthread-3| I120: Msg_Reset:
2011-12-01T09:05:25.720+12:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2011-12-01T09:05:25.720+12:00| vthread-3| I120: ----------------------------------------
2011-12-01T09:05:25.720+12:00| vthread-3| I120: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
2011-12-01T09:05:25.720+12:00| vthread-3| I120: Msg_Reset:
2011-12-01T09:05:25.720+12:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/home/root/.vmware/config": No such file or directory.
2011-12-01T09:05:25.720+12:00| vthread-3| I120: ----------------------------------------
2011-12-01T09:05:25.720+12:00| vthread-3| I120: PREF Optional preferences file not found at /home/root/.vmware/config. Using default values.
2011-12-01T09:05:25.720+12:00| vthread-3| I120: Msg_Reset:
2011-12-01T09:05:25.720+12:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/home/root/.vmware/preferences": No such file or directory.
2011-12-01T09:05:25.720+12:00| vthread-3| I120: ----------------------------------------
2011-12-01T09:05:25.720+12:00| vthread-3| I120: PREF Failed to load user preferences.
2011-12-01T09:05:25.720+12:00| vthread-3| W110: Logging to /tmp/vmware-root/modconfig-17061.log
2011-12-01T09:05:25.829+12:00| vthread-3| I120: System distribution is SuSE
2011-12-01T09:05:25.829+12:00| vthread-3| I120: System version is 12.1
2011-12-01T09:05:25.829+12:00| vthread-3| I120: modconf query interface initialized
2011-12-01T09:05:25.829+12:00| vthread-3| I120: modconf library initialized
Same here…
If hal is started it works.
The script worked, Thanks!
Didn’t work with:
vmware-player: 4.0.1.528992
kernel: 3.1.5-1.fc16.x86_64
you need to paste the console output of the build in order to allow checking what’s the problem
Thanks! Worked perfect with:
debian packages:
linux-image-3.1.0-1-amd64
linux-headers-3.1.0-1-amd64
vmware download:
VMware-Workstation-Full-8.0.1-528992.x86_64.bundle
I had to change the check in the install script from 8.0.0 to 8.0.1 though.
Ok for VMware Wokstation 8.0.1, just changed in script : patch-modules_3.1.0.sh
fpatch=vmware3.1.0.patch
vmreqver=8.0.1
plreqver=4.0.1
vmreqver2=8.0.1
plreqver2=4.0.1
Hello, with fedora 16 I get
[root@localhost vmware8linux31fix]# ./patch-modules_3.1.0.sh
./patch-modules_3.1.0.sh: line 45: patch: command not found
with
Package kernel-devel-3.1.6-1.fc16.x86_64 already installed and latest version
Package kernel-headers-3.1.6-1.fc16.x86_64 already installed and latest version
Package gcc-4.6.2-1.fc16.x86_64 already installed and latest version
Package 1:make-3.82-8.fc16.x86_64 already installed and latest version
please help me!
you need to install the patch package. unfortunately fedora decided to not ship it by default it seems.
[...] VMware workstation-8 or VMplayer-4 take a look at this On my older build I had hit issues with libglib causing problems with the VMware interface and it [...]
I’m getting this error. Any help?
root@debian:/home/home# ./patch-modules_3.1.0.sh
patching file vmnet-only/compat_netdevice.h
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system failed
Unable to stop services
All done, you can now run VMWare WorkStation.
Modules sources backup can be found in the ‘/usr/lib/vmware/modules/source-workstation8.0.0-2012-01-05-21:04:40-backup’ directory
root@debian:/home/home#
try running vmware and using it’s interface to do the build
I get the same error.
Unable to stop services? check that you don’t have stalled modules which oopsed the kernel (and in that case you might need a reboot)
Is there a patch for VMware Tools installed on fedora 16 kernel 3.2.1 guest?
would need to be tested. anyway most of the patches needed are in the host patch. so they can be ported over.
Thanks for this – saved both my head and my table! Now working perfectly.
Ubuntu 11.10 & VMware WS 7.1.5 (changed the patch to vmreqver=7.1.5)
it didnt work for me,when i run it it says it is made for vmware player 4.0.0 and mine is 4.0.2 …..any patch for vmware player 4.0.2
use the updated patches in the other posts
Stuck here:
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function ‘IOMMU_AdjustMappings’:
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:180: error: implicit declaration of function ‘iommu_found’
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function ‘IOMMU_RegisterDevice’:
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:415: error: too few arguments to function ‘iommu_domain_alloc’
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/iommu.o] Error 1
make[2]: *** Waiting for unfinished jobs….
make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-source-3.2.6′
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only’
Unable to install vmmon
uname -r –> 3.2.6
Any idea?
wrong vmware version or old modules in vmware folders. do a clean reinstall (and be sure to remove all files remaining in /usr/lib/vmware). iommu.c is not part of the last version of vmware modules.
Thanks!!!!!!! works great!
Thanks for the patch, unfortunately it didn’t work for me (VMWare Workstation 8.0.2) – stuck at:
/tmp/vmware-root/modules/vmnet-only/userif.c: In function ‘VNetCsumCopyDatagram’:
/tmp/vmware-root/modules/vmnet-only/userif.c:520:3: error: incompatible type for argument 1 of ‘kmap’
include/linux/highmem.h:48:61: note: expected ‘struct page *’ but argument is of type ‘const struct ’
/tmp/vmware-root/modules/vmnet-only/userif.c:523:3: error: incompatible type for argument 1 of ‘kunmap’
include/linux/highmem.h:54:60: note: expected ‘struct page *’ but argument is of type ‘const struct ’
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/userif.o] Error 1
make[2]: *** Waiting for unfinished jobs….
/tmp/vmware-root/modules/vmnet-only/netif.c: In function ‘VNetNetIfSetup’:
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: error: unknown field ‘ndo_set_multicast_list’ specified in initializer
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: warning: initialization from incompatible pointer type [enabled by default]
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: warning: (near initialization for ‘vnetNetifOps.ndo_validate_addr’) [enabled by default]
/tmp/vmware-root/modules/vmnet-only/filter.c:60:16: error: ‘THIS_MODULE’ undeclared here (not in a function)
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/netif.o] Error 1
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/filter.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.3.0-8.fc16.x86_64′
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmnet-only’
Unable to install vmnet
Anyone any ideas or solutions?
Kernel with bogus version (did fedora release more of those?)
Patch failed applying
Sources are dirty. Start from a clean install.
Same issue as Matthias. Tried starting from a clean install but didn’t help. Any thoughts?
Some background info:
uname -a
Linux 3.3.1-3.fc16.x86_64 #1 SMP Wed Apr 4 18:08:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Fedora 16
vmware player 4.0.2
Thanks
Can not seem to patch VMware player.
Kernal is Ver 3.3.2-1
VMware Player 4.0.2
This is a new clean install.
Dependncies installed.
The modules are not compling. If I start VMware Player all I get is a Messages to sat there is a problem in Nautilus. and nothing.
Have tried the patch above but get a message to say:
Sorry, this script is only for VMWare WorkStation 8.0.0 or VMWare Player 4.0.0. Exiting
Any ideas please?
use a more up to date patch from the other articles of the site.
Tried to patch on Ubuntu 12.04 and unfortunatelly it doesn’t work – does an updated version exist for this?
Thanks.
Eugen.
ubuntu doesn’t ship with the kernel 3.1 as far as I’ve seen. you need to get the fix for 3.2/3.3 in the other posts.
Looks like version 8.0.3 released May 3 2012 sometime has the same problem, can the 8.0.2 patch be reused and/or quickly modified to resolve what looks to be a repeat issue?
Script failing on (more?) version errors?
# vmware-installer -l | awk ‘/vmware-/{print $1substr($2,1,5)}’
vmware-player4.0.2
Are you only checking for 4.0.0…. and any idea if it works with 4.02?
(TIA) Dave
this is an old version you should use the newer patches.
Usable in 4.0.3 too. Simply change max version on script vars from “4.0.2″ to “4.0.3″
I’m running vmware Workstation 7.1.6 on kernel version 3.0.0-21-generic. Applying only this patch only failed, but this patch along with the 2.6.39 version patch worked!
To get this to go, I first ran this patch, with
vmreqver=7.1.6andvmreqver2=7.1.6then didsudo rm /usr/lib/vmware/modules/source/.patchedand ran the 2.6.39 patch withvmreqver=7.1.6andplreqver=3.0.0set.Not sure if this is the recommended scheme, but it works!
Tried to apply your patch(es) concerning vmware 7.1.6 with Suse 12.1 (i.e kernel 3.1.10-default) but I’m getting an error telling :
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:47:44: error: ‘SPIN_LOCK_UNLOCKED’ undeclared here (not in a function)
Remarks : Your patch worked fine with vmware 7.1.4
with vmware 8.0.4 I don’t need any patch, but I should have payed for this new version.
i didn’t make them but you should be able to replace the SPIN_LOCK_UNLOCKED with the definitions you should see in older patches.