thewatertower.org.uk

VMWare

under construction

Library errors in the GUI

Couple of fixes for VMWare needed on Suse 10.2 under Gnome. Looks like Debian, Ubuntu and others have the same problem. Definitely affects Workstation 5.5.4, 5.5.5, and I think its affects the Server GUI and / or Player as well.

First error is spewed out when the GUI is started, the rest are triggered by using the file|open dialog.

/usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2
(vmware:18091): libgnomevfs-WARNING **: Cannot load module `/opt/gnome/lib/gnome-vfs-2.0/modules/libfile.so' (/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)
(vmware:18091): libgnomevfs-CRITICAL **: gnome_vfs_uri_ref: assertion `uri != NULL' failed
(vmware:18091): libgnomevfs-CRITICAL **: gnome_vfs_get_file_info_uri_cancellable: assertion `uri != NULL' failed
(vmware:18091): libgnomevfs-CRITICAL **: gnome_vfs_uri_unref: assertion `uri != NULL' failed

The fix is to create links to the system copies of the libraries ..

# cd /usr/lib/vmware/lib/libpng12.so.0/
# mv libpng12.so.0 libpng12.so.0-orig
# ln -s /usr/lib/libpng12.so.0
# cd /usr/lib/vmware/lib/libgcc_s.so.1/
# mv libgcc_s.so.1 libgcc_s.so.1-orig
# ln -s /usr/lib/libgcc_s.so.1

More library errors

(vmware:5093): libgnomevfs-WARNING **: Cannot load module `/opt/gnome/lib/gnome-vfs-2.0/modules/libfile.so'
(/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))

(vmware:5093): libgnomevfs-CRITICAL **: gnome_vfs_uri_ref: assertion `uri != NULL' failed

(vmware:5093): libgnomevfs-CRITICAL **: gnome_vfs_uri_unref: assertion `uri != NULL' failed

(vmware:5093): libgnomevfs-CRITICAL **: gnome_vfs_get_file_info_uri_cancellable: assertion `uri != NULL' failed

An environment variable (set to 'yes' or 'force') will make the GUI look ugly, but at least it works:

$ VMWARE_USE_SHIPPED_GTK=yes vmware

Kernel 2.6.22 (openSUSE 10.3) problems

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.22.12-0.1-default/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.22.12-0.1-obj/i386/default'
make -C ../../../linux-2.6.22.12-0.1 O=../linux-2.6.22.12-0.1-obj/i386/default modules
  CC [M]  /tmp/vmware-config0/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config0/vmmon-only/linux/driver.c:80:
/tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or '...' before 'compat_exit'
/tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or '...' before 'exit_code'
/tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to 'int' in declaration of '_syscall1'
make[4]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Error 1
make[3]: *** [_module_/tmp/vmware-config0/vmmon-only] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22.12-0.1-obj/i386/default'
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.

Requires the unofficial any-any patch. Linked off the Suse page, below.

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.22.12-0.1-default/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.22.12-0.1-obj/i386/default'
make -C ../../../linux-2.6.22.12-0.1 O=../linux-2.6.22.12-0.1-obj/i386/default modules
  CC [M]  /tmp/vmware-config1/vmmon-only/linux/driver.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[4]: *** [/tmp/vmware-config1/vmmon-only/common/task.o] Error 1
make[3]: *** [_module_/tmp/vmware-config1/vmmon-only] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22.12-0.1-obj/i386/default'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config1/vmmon-only'
Unable to build the vmmon module.

Requires the c++ compiler, gcc-c++.


SSL key error

Generating SSL Server Certificate

Unable to get the last modification timestamp of the destination file 
/etc/vmware/ssl/rui.key.

Execution aborted.

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

sh: /usr/lib/vmware/bin/vmware-vmx: not found
Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:  

sh: /usr/lib/vmware/bin/vmware-vmx: not found
The serial number  is invalid.

Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:  
root@akira:/etc# sudo apt-get install ia32-libs

~/data$ 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/lib32/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/lib32/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/lib32/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/lib32/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/lib32/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/lib32/libstdc++.so.6)
#  cd  /usr/lib/vmware/lib/libgcc_s.so.1/
# ls
libgcc_s.so.1
# mv libgcc_s.so.1 backup_libgcc_s.so.1

Generating SSL Server Certificate

   Starting httpd.vmware:-ne                                          failed

The configuration of VMware Management Interface completed successfully.

# cp -p /etc/init.d/httpd.vmware /etc/init.d/httpd.vmware_orig
# sed -i 's/bin\/sh/bin\/bash/g' /etc/init.d/httpd.vmware
# /etc/init.d/httpd.vmware start
   Starting httpd.vmware:                                              done
# 

Server/console port

A tedious feature of openSUSE is that it has a service registered to port 902. So, VMWare installs to port 904 instead. And then, you can't connect to it (easily).

The fix is:

  • Remark out ideafarm-chat in /etc/services

  • Edit 902 in place of 904 in /etc/xinetd.d/vmware-authd

  • Restart xinetd


VNC support

The console of a VMWare machine can be advertised on a port for VNC clients to connect to. Add the following values to the vmx file for the machine. Tested on VMware Server 1.0.5 build-80187 on openSUSE 10.2 with an opensolaris 2008.05 VM. (The mouse didn't work.)

  • VMWare recommends a port from 5900 to 5999; this will be LISTENing on your vmware server machine; check for port conflicts with netstat -an | grep LISTEN.

  • The presentation, below, says 8 character passwords only.

  • Check how your vnc client connects to a specific port; eg: vncviewer 127.0.0.1::5977

  • You must have vmware tools installed, and it needs to be working. There are issues with mouse drivers.

  • Useful, potentially, just as a way to get onto a text console.

RemoteDisplay.vnc.enabled = True
RemoteDisplay.vnc.port = "59xx"
RemoteDisplay.vnc.password = "password"


Printed and hosted by Prater Raines Ltd, 98 Sandgate High Street, Folkestone CT20 3BY.
Published and promoted by Ben Prescott, 14, St James's Square, Bournemouth, BH5 2BX. All rights reserved.
The views expressed are solely those of the author, not of the service provider.