VMWare won’t compile!

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:

Unable to Start Services Error Message

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:

Changing the Version Number in the script

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

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

One thought on “VMWare won’t compile!

  1. 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)

Leave a Comment

Your email address will not be published. Required fields are marked *