VMware 9.0.1 – Not so Clever, After all..
Just updated the kernel on my test system to 3.7-rc6, and discovered – sadly – that the standard VMware (re)compile/install script – vmware-modconfig – still doesn’t find the ‘relocated’ version.h in the 3.7 series kernels.
So, although the VMware new-install/update script (VMware-Workstation-Full-9.0.1-894247.x86_64.bundle, in this case), does recognise the 3.7 change, the (re)compilation script doesn’t..
# vmware-modconfig –console –install-all
Failed to setup build environment.
So, you still have to do:
# ln -s /usr/src/linux-3.7-rc6/include/generated/uapi/linux/version.h /usr/src/linux-3.7-rc6/include/linux/version.h
– and then everything works OK..
The difficulty here, is that vmware-modconfig is just a ‘wrapper’, which then runs the binary which handles the re-compile process, and it is that binary that – ideally – needs to be fixed! When I have more time, I will see if there is a hack to modify the ‘wrapper’ script, but for now, the simple ‘softlink’ shown above will do the job..
Robert Gadsdon. November 18th, 2012.
what about for kernel 3.2 or 3.6?
9.0.1 installs fine on kernel 3.6.x and earlier.. I have it running on kernel 3.6.6, on my ‘main’ system..
Thanks! Looks like upgrading my kernel to 3.6.7 and issuing –ignore-errors to the 9.0.1 install worked nicely!
Now my next issue is that USB doesn’t look to exist anymore… inside the OS it does, but to VMWare no more! If I plug a USB device in, nothing happens…
I can’t find version.h in the location indicated by you on 3.7rc6!
“ln: failed to create symbolic link `/usr/src/3.7.0-030700rc6-generic/include/linux/version.h’: No such file or directory”
and in “/usr/src/3.7.0-030700rc6/include/linux/version.h” too
The location and softlink info is for the standard kernel.org source.. You might find your relocated version.h at
/usr/src/3.7.0-030700rc6/include/generated/uapi/linux/version.h.. And.. if you get the softlink parameters the wrong way around, it will fail with a ‘file not found’ error..
Hope that helps..
If you’re using Arch Linux, ln -s /lib/modules/3.7.0-1-ck/build/include/generated/uapi/linux/version.h /lib/modules/3.7.0-1-ck/build/include/linux/ (I’m using ck kernel, replace 3.7.0-1-ck with your kernel)
Thanks for the Arch Linux info.. These variations are always useful to know..
this solution also works on ubuntu 12.04 if you’re using the 3.7.1-raring (3.7.1-030701-generic) mainline kernel.
Thanks for the additional info..
And with debian it’s
ln -s /usr/src/linux-headers-3.7-trunk-amd64/include/generated/uapi/linux/version.h /usr/src/linux-headers-3.7-trunk-amd64/include/linux/version.h