Monday, June 29, 2009

VMware Server 1.0.9 Installation on Fedora Core 11 (Kernel: 2.6.29.5-191)

I recently installed Fedora Core 11 (x86_64) on my desktop and went about installing VMware Server.

Initially, I installed VMware Server 2.0.1. However, whenever I went to Power Off a VM, it would hang at 95%.

On occasion, it would also hang at 95% when I went to Power On a VM.

This issue has been discussed at length on VMware's discussion forum:
http://communities.vmware.com/thread/171066

However, I did not see an adequate solution.

Based on this bug and the odious new Web Admin console, I decided to drop back to VMware Server 1.0.9. I've always preferred the VMware Server 1.x client Admin console.

Here is a chronicle of my misadventures with installing VMware Server 1.0.9 on Fedora Core 11:

First attempt:

Downloaded / ran patch: vmware-update-2.6.29-5.5.9-3.tar.bz2

Error message received:

WARNING: "init_mm" [/tmp/vmware-config4/vmmon-only/vmmon.ko] undefined!
CC /tmp/vmware-config4/vmmon-only/vmmon.mod.o
LD [M] /tmp/vmware-config4/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.29.5-191.fc11.i686.PAE'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config4/vmmon-only'

Unable to make a vmmon module that can be loaded in the running kernel:
insmod: error inserting '/tmp/vmware-config4/vmmon.o': -1 Unknown symbol in module
There is probably a slight difference in the kernel configuration between the set of C header files you specified and your running kernel. You may want to rebuild a kernel based on that directory, or specify another directory.

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.


Key VMware Community Posts:
http://communities.vmware.com/message/933763
http://communities.vmware.com/thread/131154
http://fedoraproject.org/wiki/Docs/CustomKernel?highlight

Instead of attempting to modify CONFIG_UNUSED_SYMBOLS and recompile kernel, went down different path.

New Attempt:

Found discussion: http://communities.vmware.com/thread/205686

Downloaded: vmware-server-modules-2629.tar.gz, untarred to /usr/lib/vmware/modules/source

Error message received:

Configuring the VMware VmPerl Scripting API.

Can't locate ExtUtils/Embed.pm in @INC (@INC contains: /usr/local/lib64/perl5/site_perl/5.10.0/x86_64-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl .).

BEGIN failed--compilation aborted.

Use of uninitialized value $inc in substitution (s///) at /usr/bin/vmware-config.pl line 6775. Use of uninitialized value $inc in substitution (s///) at /usr/bin/vmware-config.pl line 6776. Use of uninitialized value $inc in substitution (s///) at /usr/bin/vmware-config.pl line 6776. Could not find necessary components to build the VMware VmPerl Scripting API.

Look in your Linux distribution to see if there is a perl-devel package.

Install that package if it exists and then re-run this installation program.



Solution:

yum install perl-ExtUtils-Embed.x86_64

The issue was resolved. Re-ran vmware-config.pl.

Error message received:


Generating SSL Server Certificate
Unable to get the last modification timestamp of the destination file

/etc/vmware/ssl/rui.key.

Execution aborted.

Solution:

touch /etc/vmware/ssl/rui.key
touch /etc/vmware/ssl/rui.crt

Error message received:


sh: /usr/lib/vmware/bin/vmware-vmx: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory


This occurred immediately before being prompted to enter serial number.

I found the following article: http://www.geekadmin.com/?p=38

1. yum install glibc.i686
2. yum install xorg-x11-libs.i386

The first command worked, the second one did not.

Re-ran vmware-confg.pl.

Got immediate warning:


The correct version of one or more libraries needed to run VMware Server may be
missing. This is the output of ldd /usr/bin/vmware:
linux-gate.so.1 => (0xf7f4b000)
libm.so.6 => /lib/libm.so.6 (0xf7f0b000)
libdl.so.2 => /lib/libdl.so.2 (0xf7f06000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf7eeb000)
libX11.so.6 => not found
libXtst.so.6 => not found
libXext.so.6 => not found
libXt.so.6 => not found
libICE.so.6 => not found
libSM.so.6 => not found
libXrender.so.1 => not found
libz.so.1 => not found
libc.so.6 => /lib/libc.so.6 (0xf7d77000)
/lib/ld-linux.so.2 (0xf7f4c000)



It turned out that I needed to install 32-bit libraries (even though I have the 64-bit Fedora Core 11 install).

Solution: Ran the following command to get the 32-bit libraries for my FC11 install (will be different for other Linux distros):

yum install libX11.i586 libXtst.i586 libXext.i586 libXt.i586 libICE.i586 libSM.i586 libXrender.i586 libXi zlib.i586
(note: zlib was the tricky one, this is actually the libz.so).

Successful run of vmware-config.pl