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
  10. Christer Edwards Post author

    @Mic – Are you referring to the Canonical Partner repository? I don’t see vmware available there for Ubuntu 8.04, but there is the version available for 7.10..

    Reply
  11. rose

    Thanks so much for this timely tutorial! I’d been struggling with this very issue, and your advice worked a treat.

    Reply
  12. Myron

    If you installed vmware server via the packages in Gutsy, you may get an error that it is already installed. If so, simply remove/rename the /etc/vmware folder. It might work to put the folder back before running the runme.pl or vmware-config.pl script but I didn’t think to try it.

    Reply
  13. Matthew Helmke

    Thank you to hype for his comment above. I also had to use -fs to get this to take. You saved me some time debugging and I appreciate it!

    Another good blog post as well. Thanks!

    Reply
  14. BostjanSt

    Yes, just finished succssefully on Kubuntu 8.04 – 64-bit.
    There are some additional steps to be made:
    *. You need additional 32-bit libraries
    > aptitude install ia32-libs
    … this must be done before vmware-config.pl to complete OK.
    *. Update any-any
    Instead of vmware-any-any-update-116.tgz I used vmware-any-any-update117.tgz. Maybe this isn’t required, but it worked in my case.

    And, that’s it.

    Reply
  15. Anon

    Just one problem with this Tutorial, it assumes a 32bit system and several versions of GCC installed.

    These problems are easily solved:

    1 – Install GCC 3.2; GCC 4.2; and all dependencies

    2 – In the “Last Step” you are supposed to link several libraries. On a 64bit system, the directory “/usr/lib/gcc/i486-linux-gnu” doesn’t exist. No Problem!

    3 – “cd /usr/lib/gcc

    4 – sudo ln -s x86_64-linux-gnu x86_64-linux-gnu

    5 – The system is then faked out to link the libraries

    6 – Follow “Last Step”

    Reply
  16. SilverWave

    64 bit required the following:

    sudo sed -i -e ‘s/usr\/l3232/usr\/l32/g’ /usr/lib32/gtk-2.0/2.10.0/loader-files.d/libgtk2.0-0.loaders
    (fixes em:
    Unable to load image-loading module: /usr/l3232/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so:)

    and to fix em:
    “.vmware/preferences permission denied”

    /home/USER/.vmware/preferences
    Permissions were root but needed to be reset to whoever the user is.

    ——————————————

    Thanks for this howto.
    I had had one go at this a week ago… but this time I got far enough along to sort it :)

    Reply
  17. olaff

    a hint for barnyb.
    when you see ‘cc1plus’ its a sign that some libraries are missing, to fix it, you need to have also the c++ compiler installed, instead gcc3.2 wasn’t needed.

    my problem is, as mentioned by adam, every time i start to configure something in windows my key modifiers get lost
    are there any ideas

    thanks olaf

    Reply
  18. michele

    thank you very much for this (uman) set of instruction!!!!!!

    Reply
  19. David Martinez

    Hello !

    This a nice, clever and clear howto.

    I followed all steps but when I get to the last one, I get an error running both lines:

    /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1
    throws a “Segmentation Fault”

    /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0
    throws a “Segmentation Fault” too

    I’m using ubuntu 8.

    Thanks for any help you can give me.

    Regards
    David

    Reply
  20. Derek Price

    Thanks for the clear HOWTO. Unfortunately it is not working for me. Everything compiles cleanly, then I get the same problem starting vmmod as a previous user mentioned (wanted 138.0 found 137.0).

    I hacked vmware-any-any-update116 horribly to cause the driver that claimed to be #137 to claim to be #138 (this was a one-line change – otherwise it was already a wrapper for 138).

    Now the server starts correctly without complaining about the vmmon version, but I cannot power on any guests. First I get a warning about enabling VT support in my BIOS (I never had this problem on the same computer when booting into Windows), then the thing just powers right back off. The server log says:

    May 19 13:39:24: app| VMServerd IPC closed the connection with thread /host/Virtual Machines/Ubuntu/Ubuntu.vmx (0x83021d0)
    May 19 13:39:24: app| Lost connection to /host/Virtual Machines/Ubuntu/Ubuntu.vmx (/host/Virtual Machines/Ubuntu/Ubuntu.vmx) unexpectedly.
    May 19 13:39:24: app| cleanup: cleaned up 2 objects
    May 19 13:39:24: app| vmdbPipe_Streams Couldn’t read: OVL_STATUS_EOF
    May 19 13:39:24: app| VMHS: Connection to VM broken: cfg: /host/Virtual Machines/Ubuntu/Ubuntu.vmx; error: Pipe: Read failed; state: 3
    May 19 13:39:24: app| Operation failed to change the VM to the expected power state.
    May 19 13:39:24: app| VM suddenly changed state: poweredOff.

    Any help is appreciated.

    Thanks,

    Derek

    Reply
  21. neoliv

    I’m having this strange modifier keys bug too.
    ubuntu 8.04 and vmware as per this tutorial.
    Once in a while the alt/shift modifier is not working anymore when I switch back from the windows VM to the native linux. (you may notice the keys that are “grabbed beyond release” are the hot keys used to do the switch)
    The only way I’ve found to get the keys back is to delog/relog which will make me drop wmware very soon if I do not find a proper solution/workaround.

    Thanks for the help (this thread is indeed very helpful and vmware may be well advised to help a bit more on these topics)

    Reply
  22. Finite.Infinity

    Thank you for the howto. However, after everything has installed and Ive finished, when I try to open VMware it says
    “Failed to execute child process “vmware” (No such file or directory)”
    any ideas?

    Reply
  23. wirtsi

    Is anyone else experiencing terrible disk performance with Hardy?

    Under Edgy I had about 30MB/s RW disk access in a VM (with VMtools installed of course), under 8.04 i get a maximum of 8MB/s … no changes otherwise

    Any clues?

    Reply
  24. bruce

    I have the keyboard modifier problem as well each time i come out of vmware (hardy 64bit system). A friend showed me the terminal command

    setxkbmap

    which will reset the keyboard so you don’t have to log out but it is still annoying to rerun the command each time you come out of vmware.

    Reply
  25. Martin

    Hello

    I’ve just installed vmware-server on Hardy and came across a minor issue with libraries.

    Server version 1.06 installed perfectly without the requirement of a patch file, however when running “vmware” the following errors appeared:

    /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)

    If anyone else has this issue just copy the shared library /lib/libgcc_s.so.1 to /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1 and everything works fine

    peAce
    Martin

    Reply
  26. Vadim

    I too am having some difficulties, here is what I am seeing.

    I should note that I used to have a running VMware-1.05 at one time, bombed out after my upgrade to 8.10. Even tried wiping out that install and starting from scratch, nothing on the old one that really mattered.

    Thanks all!

    .vp

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

    Extracting the sources of the vmmon module.

    Building the vmmon module.

    Using 2.6.x kernel build system.
    make: Entering directory `/tmp/vmware-config0/vmmon-only’
    make -C /lib/modules/2.6.27-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.27-7-generic’
    CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o
    In file included from /tmp/vmware-config0/vmmon-only/./include/machine.h:24,
    from /tmp/vmware-config0/vmmon-only/linux/driver.h:15,
    from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
    /tmp/vmware-config0/vmmon-only/./include/x86.h:830:1: warning: “PTE_PFN_MASK” redefined
    In file included from include/asm/paravirt.h:7,
    from include/asm/irqflags.h:55,
    from include/linux/irqflags.h:57,
    from include/asm/system.h:11,
    from include/asm/processor.h:17,
    from include/linux/prefetch.h:14,
    from include/linux/list.h:6,
    from include/linux/module.h:9,
    from /tmp/vmware-config0/vmmon-only/linux/driver.c:12:
    include/asm/page.h:22:1: warning: this is the location of the previous definition
    In file included from /tmp/vmware-config0/vmmon-only/linux/vmhost.h:13,
    from /tmp/vmware-config0/vmmon-only/linux/driver.c:71:
    /tmp/vmware-config0/vmmon-only/./include/compat_semaphore.h:5:27: error: asm/semaphore.h: No such file or directory
    /tmp/vmware-config0/vmmon-only/linux/driver.c:146: error: unknown field ‘nopage’ specified in initializer
    /tmp/vmware-config0/vmmon-only/linux/driver.c:147: warning: initialization from incompatible pointer type
    /tmp/vmware-config0/vmmon-only/linux/driver.c:150: error: unknown field ‘nopage’ specified in initializer
    /tmp/vmware-config0/vmmon-only/linux/driver.c:151: warning: initialization from incompatible pointer type
    /tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
    /tmp/vmware-config0/vmmon-only/linux/driver.c:1670: error: too many arguments to function ‘smp_call_function’
    make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Error 1
    make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.27-7-generic’
    make: *** [vmmon.ko] Error 2
    make: Leaving directory `/tmp/vmware-config0/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.

    Reply

Leave a Reply

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