I just had an issue with VMWare where the kernel modules would not compile. Here’s the details and the solution:
Details of the Error:
I get the “Unable to Start Services” and the Virtual Network Device has a warning symbol next to it:
Digging around in the log, this is the closest thing that I could find to an error:
vthread-3| I120: Host is Linux 2.6.41.1-1.fc15.x86_64 Fedora release 15 (Lovelock) vthread-3| I120: Msg_Reset: vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/usr/lib/vmware/settings": No such file or directory. vthread-3| I120: ---------------------------------------- vthread-3| I120: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values. vthread-3| I120: Msg_Reset: vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/home/skp/.vmware/config": No such file or directory. vthread-3| I120: ---------------------------------------- vthread-3| I120: PREF Optional preferences file not found at /home/skp/.vmware/config. Using default values. vthread-3| W110: Logging to /tmp/vmware-root/modconfig-2658.log vthread-3| I120: modconf query interface initialized vthread-3| I120: modconf library initialized vthread-3| I120: Your GCC version: 4.6 vthread-3| I120: Validating path /lib/modules/preferred/build/include for kernel release 2.6.41.1-1.fc15.x86_64 vthread-3| I120: Failed to find /lib/modules/preferred/build/include/linux/version.h vthread-3| I120: Failed version test: /lib/modules/preferred/build/include/linux/version.h not found. vthread-3| I120: Validating path /lib/modules/2.6.41.1-1.fc15.x86_64/build/include for kernel release 2.6.41.1-1.fc15.x86_64 vthread-3| I120: Your GCC version: 4.6 vthread-3| I120: Your GCC version: 4.6
I can’t start the services manually:
$ sudo service vmware start Starting vmware (via systemctl): Job failed. See system logs and 'systemctl status' for details. [FAILED]
If you start vmware from the command line, you’ll see this error buried in the output:
/tmp/vmware-root/modules/vmnet-only/compat_netdevice.h:220:1: error: conflicting types for ‘netif_queue_stopped’
Here’s just a little more information about my system (Fedora 15):
$ uname -r 2.6.41.1-1.fc15.x86_64
Here’s my VMWare version:
$ vmplayer --version VMware Player 4.0.1 build-528992
Applying the Fix
I found a post that suggested several fixes. First, I installed the hal package:
sudo yum install hal
I don’t know if that contributed toward the solution or not.
I had to downgrade to an earlier version of VMWare. To do so, I had to uninstall my current version with:
sudo vmware-installer -u vmware-player
After downloading the previous version, I installed it with:
sudo bash VMware-Player-4.0.0-471780.x86_64.txt
Next, I found a post with a patch.
cd /usr/lib/vmware/modules/source sudo cp vmnet.tar backup_vmnet.tar sudo wget -O vmnet.tar "http://forums.fedoraforum.org/attachment.php?attachmentid=22156&d=1321890579"
Then, I compiled the modules with:
sudo vmware-modconfig --console --install-all
I still got messages about the service not being able to start, but it still ran and booted my virtual machine.
Failed Attempt #1
While the above instructions solved my problem, let me walk you through some of the other things I tried. That might give you some more ideas if what worked for me didn’t work for you.
I found a post that suggested uninstalling and reinstalling. So, here is the how I did it:
First, I had to determine the exact name of what was installed:
$ vmware-installer -l Product Name Product Version ==================== ==================== vmware-player 4.0.1.528992
Then, here is the command:
sudo vmware-installer -u vmware-player
And after I downloaded the latest version, I had a “txt” file. It is really a script, so I ran it like this:
sudo bash VMware-Player-4.0.1-528992.x86_64.txt
Failed Attempt #2
Here’s something that I tried in case it might help you. It didn’t help me any.
I downloaded a patch from Weltall’s blog: vmware8linux31fix.tar.gz. Then, I extracted and ran the patch:
[skp@pecan vmwarefix]$ tar -xzvf vmware8linux31fix.tar.gz vmware3.1.0.patch patch-modules_3.1.0.sh [skp@pecan vmwarefix]$ ls patch-modules_3.1.0.sh vmware3.1.0.patch vmware8linux31fix.tar.gz [skp@pecan vmwarefix]$ sudo ./patch-modules_3.1.0.sh Sorry, this script is only for VMWare WorkStation 8.0.0 or VMWare Player 4.0.0. Exiting
The error message indicates it is looking for a particular version, so I just adjusted the script a little bit. At the top of the script, I changed the version number:
Next, I just got another error message:
[skp@pecan vmwarefix]$ sudo ./patch-modules_3.1.0.sh /usr/lib/vmware/modules/source/.patched found. You have already patched your sources. Exiting
Failed Attempt #3
I found a post that suggested that someone was missing a bunch of packages. That gave me an idea to try to find what package included version.h. Then, this post suggested that they were in the Linux headers package. I did have the headers installed:
$ rpm -q kernel-headers-`uname -r` kernel-headers-2.6.41.1-1.fc15.x86_64
I tried to install this:
sudo yum install buildsys-build-rpmfusion-kerneldevpkgs-current
Again, this didn’t work. The packages installed, but vmware still wouldn’t build.
Resources
- Fedora Forums: vmware does not compile with 2.6.41.1-1.fc15.x86_64 kernel
- Weltall’s blog: vmware workstation/player fix for linux 3.1
- VMWare Community: Linux x64 kernel 3.1.0-rc6 vmware kernel modules want build
- ArchLinux Forums: why canot build vmware 8.0 kerenl modules?
- Ubuntu Forums: ./configure error, missing version.h?
- VMWare Communities: Workstation 8.01 and kernel issues
- VMWare Communities: Vmware Workstaion 8 problem on Fedora 16
Hi, I’ve Fedora 18 (32 bit)
Firs I’ve tried to install VMware Player 5.0.2 but I’ve got compilation errors, and the service didn’t start.. so I’ve resolved installing VMware workstation full 10 (that has vmplayer 6.0.0 build-1295980)