Install VMware Server 1.0.5 on Ubuntu 8.04 “Hardy”

By | 2008/05/03

UPDATE: This tutorial has been updated for VMware Server 1.0.6.  See the updated instructions here, at How To Install VMware Server 1.0.6 on Ubuntu 8.04.

Now that most of the modern world has upgraded to Ubuntu 8.04 I’ve begun to see comments regarding VMware Server no longer working.  You may have used my previous article, Installing VMware Server on Ubuntu 7.10, which has worked great.  Now that 8.04 “Hardy” is installed things have become a bit more complicated unfortunately.

The problem is that VMware has not updated their latest versions to make use of the latest kernel, GCC or gnome libraries.  So, we’ve got two options.

  1. Wait for a new VMware release and hope they patch everything.
  2. Follow the rest of this tutorial and get your hands dirty on the terminal.  We can make it work, but we have to hammer it into submission.

So, I’ll assume because you’re still reading that you’ve opted for the hammer into submission option.  Let’s get started.

Downloading the Requirements

The first step, of course, is to download VMware Server 1.0.5.  You’ll have to agree to the EULA (actually twice.  Once before download and once during installation.  Remember, VMware is free-as-in-beer but not free-as-in-speech.)

The second step is to install some development tools that we’ll need to get things running.  Use the following command or click the package names to install the requirements:

sudo aptitude install build-essential linux-kernel-devel linux-headers-generic xinetd

The third step is to download one more tool to help in the manual build process for VMware Server 1.0.5.  What we need is a script which will help in the custom config hosted at Google Code.  Download the vmware-any-any-update-116.tgz.

You will also need to generate a serial number to run VMware Server.  Visit this link to register and generate the number of codes you might want. Remember to print the codes or write them down because in my experience they are not emailed to you.

OK, at this point we should have all of the requirements, now we can get to work…

Installation and Configuration

Let’s unpack the VMware archive that we downloaded and run the VMware installer.  NOTE: After some basic configuration it will ask you to run vmware-config.pl.  DO NOT RUN vmware-config.pl, WE ARE NOT READY YET.

tar xf VMware-server-1.0.5
cd vmware-server-distrib
sudo ./vmware-install.pl

When it asks you to run vmware-config.pl you want to answer “no” and this is where the vmware-any-any-116.tgz patch comes in.

cd ..
tar xf vmware-any-any-update-116.tgz
cd vmware-any-any-update116
sudo ./runme.pl

After this runs it will ask you again if you want to run vmware-config.pl.  At this point select “yes”.

The Last Step

If you attempt to run vmware at this point you might notice that it spits out some nasty errors and complains at you.  There is one more thing we need to setup. (Hey, VMware, if you’re reading this will you please incorporate these fixes into your official download already!)

Basically VMware is missing and complaining about some cairo libraries and gcc.  So, the simple fix for this is to point to them by using a symbolic link:

sudo ln -sf /usr/lib/gcc/i486-linux-gnu/4.2.3/libgcc_s.so /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1
sudo ln -sf /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0

At this point you should be able to launch vmware and enjoy some virtualization goodness.  Please stay tuned for virtualization updates regarding virtualbox and the new KVM!

sources: I want to throw a big thanks to my buddy Igor for helping figure out these tweaks.  Check out his blog, with these and other instructions, here.

UPDATE: based on some of the comments below I’ve added the “-f” to the symbolik link options.

34 thoughts on “Install VMware Server 1.0.5 on Ubuntu 8.04 “Hardy”

  1. BarnyB

    Hey,

    Great tutorial but as always I failed to follow one! I get the following error when running the vmware-config.pl

    [Quote]
    Before running VMware for the first time after update, you need to configure it
    for your running kernel by invoking the following command:
    “/usr/bin/vmware-config.pl”. Do you want this script to invoke the command for
    you now? [yes]

    Making sure services for VMware Server are stopped.

    Stopping VMware services:
    Virtual machine monitor done

    Configuring fallback GTK+ 2.4 libraries.

    In which directory do you want to install the mime type icons?
    [/usr/share/icons]

    What directory contains your desktop menu entry files? These files have a
    .desktop file extension. [/usr/share/applications]

    In which directory do you want to install the application’s icon?
    [/usr/share/pixmaps]

    /usr/share/applications/vmware-server.desktop: warning: value “vmware-server.png” for key “Icon” in group “Desktop Entry” is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path
    /usr/share/applications/vmware-console-uri-handler.desktop: warning: value “vmware-server.png” for key “Icon” in group “Desktop Entry” is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path
    Trying to find a suitable vmmon module for your running kernel.

    None of the pre-built vmmon modules for VMware Server is suitable for your
    running kernel. Do you want this program to try to build the vmmon module for
    your system (you need to have a C compiler installed on your system)? [yes]

    Using compiler “/usr/bin/gcc”. Use environment variable CC to override.

    What is the location of the directory of C header files that match your running
    kernel? [/lib/modules/2.6.24-16-generic/build/include]

    Extracting the sources of the vmmon module.

    Building the vmmon module.

    Building for VMware Server 1.0.0.
    Using 2.6.x kernel build system.
    make: Entering directory `/tmp/vmware-config1/vmmon-only’
    make -C /lib/modules/2.6.24-16-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.24-16-generic’
    CC [M] /tmp/vmware-config1/vmmon-only/linux/driver.o
    CC [M] /tmp/vmware-config1/vmmon-only/linux/driverLog.o
    CC [M] /tmp/vmware-config1/vmmon-only/linux/hostif.o
    CC [M] /tmp/vmware-config1/vmmon-only/common/comport.o
    CC [M] /tmp/vmware-config1/vmmon-only/common/cpuid.o
    CC [M] /tmp/vmware-config1/vmmon-only/common/hash.o
    CC [M] /tmp/vmware-config1/vmmon-only/common/memtrack.o
    CC [M] /tmp/vmware-config1/vmmon-only/common/phystrack.o
    CC [M] /tmp/vmware-config1/vmmon-only/common/task.o
    gcc: error trying to exec ‘cc1plus’: execvp: No such file or directory
    make[2]: *** [/tmp/vmware-config1/vmmon-only/common/task.o] Error 1
    make[1]: *** [_module_/tmp/vmware-config1/vmmon-only] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-16-generic’
    make: *** [vmmon.ko] Error 2
    make: Leaving directory `/tmp/vmware-config1/vmmon-only’
    Unable to build the vmmon module.

    For more information on how to troubleshoot module-related problems, please
    visit our Web site at “http://www.vmware.com/download/modules/modules.html” and
    “http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html”.

    Execution aborted.
    [Unquote]

    Any ideas? It has created a vmware icon but nothing happens when I select this from applications-other-vmware server console..

    Thanks.

    Reply
  2. Christer Edwards Post author

    @BarnyB – I assume you are running with sudo (but worth double-checking). Are all of the dependent packages installed? It looks like its dying on the make of the module. Remember *not* to run vmware-config.pl until after you’ve run the runme.pl.. those are my best guesses.

    Reply
  3. Vadim P.

    Optionally, VirtualBox is already available from the repositories or from their website (both 32 and 64bit .debs).

    Reply
  4. Christer Edwards Post author

    @Vadim – Yes, and I prefer VirtualBox in many cases but there are still those that want/need VMware so its worth documenting.

    Reply
  5. Mic

    Why not simply using VMware Server 1.0.4 from Ubuntu Partner?

    Reply
  6. troll

    Thanks. I had been hoping to use KVM with virt-manager with Hardy but it’s entirely broken. I have not managed to create virtual machines or start them up, all I get are some python farts (the problems are in launchpad bug tracker).

    VirtualBox whined something to me about not being able to virtualize 64-bit operating system… If that Vmware installation works I’ll be glad to at last get working virtualization on my desktop!

    Reply
  7. Adam Bagnall

    I got vmware working, but after I’ve booted a vm it screws up my keyboard. Everything works fine in VMs, but in gnome newly started apps crash on any keyboard input and previously running apps seem to work as before but modifier keys (ctrl, shift, alt etc) no longer work. I’ve now switched to virtualbox but any ideas how to fix this in case others run into the same problem?

    Reply
  8. hype

    Hey, thanks for the how-to, but i get an error when starting vmware;

    vmware
    /usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4′ not found (required by /usr/lib/libcairo.so.2)
    /usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0′ not found (required by /usr/lib/libstdc++.so.6)
    /usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4′ not found (required by /usr/lib/libcairo.so.2)
    /usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0′ not found (required by /usr/lib/libstdc++.so.6)
    /usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4′ not found (required by /usr/lib/libcairo.so.2)
    /usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0′ not found (required by /usr/lib/libstdc++.so.6)

    I followed the how-to step by step; did i miss something?

    You can mailme if you need more info.

    Reply
  9. hype

    Ok fixed:
    you can change both sudo ln -s by sudo ln -fs

    Seems like i haad to force the ln to have it work, cheers !

    Reply