Month: November 2011

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

TamperMonkey Fixed!

I recently had an issue with Tamper Monkey, jQuery, subdomains.  You can view the issue here:

tampermonkey.net: subdomain + jQuery issue

Basically, my page would load jQuery plugins when I hit the page directly from my site.  But, if I hit the page via a subdomain off the website, the plugin would not load.  Any javascript that used that plugin would err as if the plugin did not exist.  When I disabled TamperMonkey and reloaded the page, everything would work through the subdomain again.

You can try it with this tech test.  This is without the subdomain:

http://example.digitaleagle.net/subdomain.php

This is through the subdomain:

http://example.digitaleagle.net/subdomain.php

You should get alert dialogs when the page loads and when you click the button.

The fix is to use the Beta version of Tamper Monkey.  This latest version fixes the bug.  You can download it from here.

Also, just FYI, here is my original thread asking for help:

jQuery Plugin won’t work on Subdomain

WebEx in Fedora 15 (64 bit)

At one point, I thought WebEx was working natively in 64-bit Linux.  Either I am mistaken or it no longer works on 64-bit.  So, I decided to dust off my old 32-bit hack where you install 32-bit versions of Java and Firefox to make it all work.

Earlier, I had thought I would use my regular 64-bit installation, and I had posted my hooking Java up to Firefox for WebEx.  I was rightly corrected on troshlyak’s blog.  The 64-bit will work, but you can’t share your desktop or view another’s desktop.  So, I am back to the old way.  So, here’s what I did…

I downloaded the two programs:

I created a directory in ~/bin/webex to hold it all.  Under that, I put the Java SDK under the “jdk1.7.0_01” directory.  Then, I put Firefox under “firefox”.

Environment Script:

I created this script in ~/bin/webex/env.sh:

#!/bin/sh

export WEBEX_HOME=~/bin/webex
export JDK_HOME=$WEBEX_HOME/jdk1.7.0_01
export JAVA_HOME=$JDK_HOME/jre
export FIREFOX_HOME=$WEBEX_HOME/firefox
export MOZ_PLUGIN_PATH=$FIREFOX_HOME/plugins
export PATH=$FIREFOX_HOME:$JAVA_HOME/bin/:$JDK_HOME/bin/:$PATH

To make sure you have it right, you can check it like this:

[skp@pecan bin]$ . ~/bin/webex/env.sh
[skp@pecan bin]$ which java
~/bin/webex/jdk1.7.0_01/jre/bin/java
[skp@pecan bin]$ java -version
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Server VM (build 21.1-b02, mixed mode)

Now, you can link in the Java plugin like this:

mkdir $MOZ_PLUGIN_PATH
ln -s $JAVA_HOME/lib/i386/libnpjp2.so $MOZ_PLUGIN_PATH/libnpjp2.so

Now, fire up firefox.  Note you may be asked to create the WebEx profile.  Make sure you create a profile with the same name you use on the command line so it won’t ask you again.

firefox --no-remote -P WebEx http://java.com/en/download/testjava.jsp

This should give you a successful Java applet working on the test page.  You also should see the architecture as i386.

Java Test Successful and shows i386

Finally, I created a ~/bin/webex.sh script to launch webex easily for me.

#!/bin/bash

cd ~/bin/webex
. ./env.sh
firefox --no-remote -P WebEx

And you should be good to go.

Great Link: WordPress Plugins

via http://www.flickr.com/photos/pimkie_fotos/2451289441/sizes/o/in/photostream/
via Flickr

I am always open to more lists of WordPress Plugins:

Lunarpages Blog: Ten WordPress Plugins Worth Considering

The one I picked up from this list was WP Super Cache.  My blog definitely needs a speed boost.

The next one I probably need to come back to is the Mobile Press.  The only problem is that the link was broken.  I’ll have to come back and research that later.

So, let me add a few of my own:

Ad Injection: Previously, I had tried to implement the ads manually into my theme.  I found that they were slowing the site down.  This plugin makes implementing ads correctly easier, and it gives you more options as well.

Edit Flow: While it is just me blogging, I still use this plugin to try to organize my posts.  I have created a “Stub” status that I use when I find a topic that I want to write about.  Then, I created a “Needs Research” status to indicate that I still have work to do before finishing the article.  I also created a “Pending Review” status to remind myself to review the article one more time before publishing.

Jetpack: If you don’t already have this installed, WordPress should start to bug you about it.  For me, it just means better looking stats.  I need to delve into setting up some of the other features in it.

Yet Another Related Post Plugin: I need to spend more time on theming the related section, but this plugin seems to make the “related” section at the bottom pretty easy.