Jump To Content

Username:
Password:

Register
59d 12h 39m 15s left

vmware + debian sid == fail

Posted by nuxi on 2008-Jul-13 at 02:46:18 in Computers (Login to reply)

So lots of people have been getting a problem where trying to start the vmware GUI on sid results in a nice backtrace and the final line:

vmware: ../../src/xcb_lock.c:77: _XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >= 0)' failed.

If LIBXCB_DISABLE_SLOPPY_LOCK the traceback changes slightly:

vmware: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.

This will fix both of those problems and probably any others that have errors that involve the acronym xcb in it somewhere.

The solution is actually pretty simple, you just need to let vmware use an older copy of libX11. Although how to do this without holding half of X back is a bit trickier. First we need the library, you can get it from me or get it from Debian. I might as well show how to manually extract a .deb:
mkdir /tmp/foo
cd /tmp/fpp
wget http://http.us.debian.org/debian/pool/main/libx/libx11/libx11-6_1.0.3-7_i386.deb
ar -x libx11-6_1.0.3-7_i386.deb
tar -zxf data.tar.gz


data.tar.gz contains all the stuff related to actually using the package. control.tar.gz contains all the control scripts for apt and dpkg. Both of these are tarbombs which is why you make a new folder to unpack them in.

/tmp/foo/usr/lib/libX11.so.6 is the library

$VMWARE_PREFIX is wherever you told vmware to install. I keep mine in /usr/local and I forget where the default is. Its easily spotted in that backtrace you get when you try to start vmware if you forget where you put it ;)

mkdir $VMWARE_PREFIX/lib/vmware/lib/libX11.so.6
cp libX11.so.6 $VMWARE_PREFIX/lib/vmware/lib/libX11.so.6/libX11.so.6


Then edit $VMWARE_PREFIX/lib/vmware/lib/wrapper-gtk24.sh. Look for the part that looks like this: (For 1.0.6 this is line 65)
vm_append_lib 'libfreetype.so.6'
vm_append_lib 'libXft.so.2'
vm_append_lib 'libXrender.so.1'


Add a line after these that says:
vm_append_lib 'libX11.so.6'

vmware's GUI should run now and you don't have to actually downgrade libX11-6!