Fixing the Ubuntu Dapper and Cedega xlibs error

Posted on 2006-06-09 at 08:32

So you say you are having a problem installing Transgaming's Cedega on the latest version of Ubuntu (Dapper Drake or 6.06 LTS)? Me too. In short, when I tried to install the deb package, I got an error telling me "cedega depends on xlibs (>> 4.1.0); however: Package xlibs is not installed". So uncool. The issue is that xlibs has been deprecated in favor of a more modern x package. Thankfully, there is a solution.

  1. Go to the Transgaming site, log in, and download the latest Cedega package for your system.
  2. cd to the directory where the package was downloaded.
  3. Make a new directory in which to work:
    ~/downloads$ mkdir cedega
  4. Extract the downloaded deb file top the new directory:
    ~/downloads$ dpkg-deb --extract cedegaXXXXXX.deb cedega
  5. Make the package editable:
    ~/downloads$ dpkg-deb --control cedegaXXXXXX.deb cedega/DEBIAN
  6. Edit the package to remove the dependency on xlibs:
    ~/downloads$ gedit cedega/DEBIAN/control
    Remove the reference to Xlib (X.X.X) from the depends list.
    Save and exit.
  7. Build the new package that doesn't depend on xlibs:
    ~/downloads$ dpkg --build cedega
  8. Install the new package:
    ~/downloads$ sudo dpkg -i cedega.deb

Why does this work? Well, the short answer is that though xlibs is missing and cedega does depend on it, the API functionality has been replaced, so though cedega says it depends on xlibs, it really just needs those API calls, which are present in a different package in Ubuntu Dapper in the default installation.

Enjoy

10/8/2006 Update:

A reader emailed me an example of a simpler workaround. Instead of building a new package that does not depend on xlibs, you can just using the "ignore-depends" flag to install the original package:
dpkg --ignore-depends=xlibs -i cedegaXXXXXX.deb
This will install cedega, though you'll need to do it every time you install the package. If you want the package fixed, use the original method I outline instead.

Make A Comment