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.
- Wait for a new VMware release and hope they patch everything.
- 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.
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.
@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.
Optionally, VirtualBox is already available from the repositories or from their website (both 32 and 64bit .debs).
@Vadim – Yes, and I prefer VirtualBox in many cases but there are still those that want/need VMware so its worth documenting.
Why not simply using VMware Server 1.0.4 from Ubuntu Partner?
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!
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?
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.
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 !
@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..
Thanks so much for this timely tutorial! I’d been struggling with this very issue, and your advice worked a treat.
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.
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!
Anybody has tested this tutorial in a Hardy installed as a 64bits OS?
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.
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”
just to mention it – there is an issue with usb support for vmware and virtualbox on hardy heron ubuntu 8.04
one have to enable /proc/bus/usb as described e.g. here [1]
polarizers 2 cents
[1] http://www.ubuntu-unleashed.com/2008/04/howto-install-virtualbox-in-hardy-heron.html
Thanks for the tutorial.
What is uninstalled?
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 🙂
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
thank you very much for this (uman) set of instruction!!!!!!
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
Thanks for the tutorial!
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
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)
Works perfectly
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?
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?
Worked perfectly for me. Thanks.
Thanks! This worked for my setup.
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.
Hi,
I was using VMWare server and everything was fine until I upgraded to Hardy. I successfully reinstalled it. But vmware slowed down to a crawl.
Has anyone seen this? Any solutions?
See also: http://communities.vmware.com/message/981753
http://ubuntuforums.org/showthread.php?p=4809858
-Manoj
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
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.