CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Linux
Discussion about CrossOver Linux

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

DIY Crossover Troubleshooting Tips

This is for you DIY Crossover junkies. I've been using Crossover for about six months now and before that PlayOnLinux and Wine. I'm not an expert just experienced. I recently re-installed Ubuntu and therefore had to install Crossover from scratch and had forgotten everything I did to get my misc programs/apps to run. Hopefully some of these tips can help others.

If you have just installed Crossover you've probably seen the red (orange?) underline missing file(s) below when installing programs under Tools->Manage Bottles
The easiest way to track down these missing files:

cxdiag --diag
http://www.codeweavers.com/support/wiki/diag

You'll need these libraries and you can use applications like aptitude and synaptic to get them installed.

Recently, I'm using Ubuntu 14.04 LTS BETA and Crossover 13.1. I have a unique situation where my graphics card is old and proprietary drivers don't work. Been working on trying to get Sketchup 2014 to run. It says opengl is not found. Games will not run either. Currently my display is using the "radeon" instead of "fglrx" driver (legacy drivers fail to install). According to:

http://www.codeweavers.com/support/wiki/Diag/OpenglNotWorking
http://www.codeweavers.com/support/wiki/Diag/MissingLibGL

my options are to use mesa?
http://en.wikipedia.org/wiki/Mesa_(computer_graphics)

I've installed about every i386 mesa / opengl / libxcb / dev / etc type library. Still hunting for solutions. Here are some of the things I've tried:

http://www.codeweavers.com/support/wiki/linux/linuxtutorial/unsupported_deps
http://www.codeweavers.com/support/wiki/mac/mactutorial/submittechsupportloghttp://www.codeweavers.com/support/wiki/linux/linuxtutorial/debug

  1. go to Tools->Manage Bottles.
  2. then click on your bottle and click the bottle tab.
  3. click Run Command.
  4. click and find the executable that will not run.
  5. now expand Debug Options.
  6. check create log file.
  7. in the other text box type: +loaddll
  8. click run.
  9. choose where to save the file.

Check out post #7:
http://www.codeweavers.com/support/forums/general/?t=27;forumcurPos=650;msg=112986

You'll see that you can also type into the other text box: +trace,+loaddll
Just because I was curious I checked everything and added both other's.
It resulted in a 1GB text file. Eak!
But I learned tons of behind the scenes stuff glancing through the log file.

I came across this error:

err:wgl:has_opengl Failed to load libGL: /usr/lib/i386-linux-gnu/libxcb-dri3.so.0: undefined symbol: xcb_send_fd
err:wgl:has_opengl OpenGL support is disabled.

So I Google'd it. Here are some of my findings:
https://bugs.launchpad.net/ubuntu/+source/libxcb/+bug/1265642
https://bugs.freedesktop.org/show_bug.cgi?id=73237

found where the library was in the log report mentioned above:

user@workstation:/usr/lib/i386-linux-gnu$ ls -la libxcb-dri3.*
-rw-r--r-- 1 root root 6290 Jan 15 02:34 libxcb-dri3.a
lrwxrwxrwx 1 root root   20 Jan 15 02:33 libxcb-dri3.so -> libxcb-dri3.so.0.0.0
lrwxrwxrwx 1 root root   20 Jan 15 02:33 libxcb-dri3.so.0 -> libxcb-dri3.so.0.0.0
-rw-r--r-- 1 root root 9616 Jan 15 02:34 libxcb-dri3.so.0.0.0

Then running the following command revealed:

user@workstation:/usr/lib/i386-linux-gnu$ nm -D libxcb-dri3.so.0.0.0 | grep xcb_send_fd
         U xcb_send_fd

Good! But not good. I found, like the bugs stated, that the symbol isn't defined (correct verbiage?)

So you can run:

user@workstation:/usr/lib/i386-linux-gnu$ ldd libxcb-dri3.so.0.0.0 
    linux-gate.so.1 =>  (0xf7737000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf76e9000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7539000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf7534000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf752d000)
    /lib/ld-linux.so.2 (0xf7738000)

You can notice that line 3 says: libxcb.so.1

So you can run:

user@workstation:/usr/lib/i386-linux-gnu$ nm -D libxcb.so.1 | grep xcb_send_fd
00009340 T xcb_send_fd

According to the bug reports there may be or the program is using
an outdated xcb library or need to be pointed to the correct one?
Not sure where to go from here.
Any how problem not solved yet, and yes could use any tips or hints... BUT!

Conclusion: Here's a recap of some helpful info.

  1. Install as many Crossover required libraries as possible
  2. Use the Run command and Debug options
  3. Use the log files to hunt down missing libraries or show stoppers
  4. These commands are your friend: "nm -D" and "ldd"
  5. First get OpenGL apps working like: glxgears and glchess

(And yes glxgears works along with OpenGL Linux apps)

Hopefully, this will help or at least encourage others
to take some extra steps when programs don't work out of the box. -Jonathan

Good job with this. Ill try to look into your issue when I get to a computer. (Im on my phone)I had a similar issue on a friends computer. But this is a great post and very useful.

Thank you. I tried to reference several other forum posts (some not included) and summarize. Note there are two links that got pasted right next to each other:

http://www.codeweavers.com/support/wiki/mac/mactutorial/submittechsupportlog

http://www.codeweavers.com/support/wiki/linux/linuxtutorial/debug

Also, after re-reading the "why" may come to mind. lol

So when a app or program fails to run it the good new is it may be quickly fixable.
Simply adding the library that supports its functionality.
More specifically the debug option "+loaddll" will report missing dll's.
Including missing Linux libraries.

If an application / program installs and then does not run. You are able to go to:

  1. TOOLS -> Manage Bottles
  2. On the left choose the bottle that the software is installed in
  3. Go to the Bottle tab
  4. Click Run Command
  5. Browse to where the program is installed. For example: C:\Program Files\My Program\app.exe
  6. Expand the Debug Options simple by clicking on it
  7. Check create log file
  8. Into the Other type: +loaddll
  9. Click Run
  10. Choose where you would like to save the text file

This can give a behind the scenes look at missing DLL's or Linux libraries.

I'm kind of repeating what I've already posted. But when something does not work it can be very frustrating.
When someone breaks down the process it kind of creates a "Ah Ha" moment.

-Jonathan

Current configuration:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Trusty Tahr (development branch)
Release: 14.04
Codename: trusty

cxdiag --debug is here:
http://paste.ubuntu.com/7032155/

mesa packlist is here:
http://paste.ubuntu.com/7032070/

$ uname -a
Linux workstation 3.13.0-14-generic #34-Ubuntu SMP Thu Feb 27 22:32:54 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

I think that the problem is with current crossover libraries and latest mesa 10.

If you go to /opt/cxoffice/libs

you will find another libxcb.so.1 library that lacks xcb_send_fd symbol.

I had the same problem in debian testing a few days ago. What I did is to move/backup this crossover library to somewhere else and then create a link to the system library

cd /opt/cxoffice/libs/

ln -s /usr/lib/i386-linux-gnu/libxcb.so.1 libxcb.so.1

Now applications using directX work again.

This is already covered in the CX wiki regarding Ubuntu 14.04:

http://www.codeweavers.com/support/wiki/linux/faq/Ubuntu

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi01LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzA4NjEzODE4LCJjc3JmX3Rva2VuIjoiV0JMY0dwVXFGQ0hWZUJxMyIsImdkcHIiOjB9