4

I did a fresh install of Ubuntu 14.04 and tried skype, it worked.

Now I decided to install the video driver from NVIDIA website, install went successful but now Skype is not starting anymore, no error, nothing.

Any help to diagnose this problem, please?

Thank you.

1
  • Problem fixed, typed 'skype' in terminal and the result was: 'skype: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64' then found the solution searching google for this error.
    – Tusticles
    Sep 3, 2014 at 7:12

5 Answers 5

4

I think this wrapper script is one way to make it work:

Create the folder bin in your home directory, if it's not there already, and put a file named skype there with this contents:

#!/bin/sh
export LD_PRELOAD="/usr/lib/i386-linux-gnu/mesa/libGL.so.1 $LD_PRELOAD"
exec /usr/bin/skype "$@"

Make the file executable with:

chmod +x ~/bin/skype

If you needed to create the ~/bin folder, you need to log out and log in again for this to make a difference.

This should work however you choose to start skype.

4
  • Another option is to add alias skype='LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype' line to .bashrc file.
    – Akavall
    Nov 20, 2015 at 17:04
  • 1
    @Akavall: Right, but then it won't work if you start skype in the graphical environment, e.g. by clicking an icon. Nov 20, 2015 at 19:04
  • 1
    to give control back to the shell, add an ampersand: exec /usr/bin/skype "$@" &
    – Milimetric
    Feb 7, 2017 at 11:59
  • @Milimetric: Right, that's useful if you start the program from the terminal. Feb 7, 2017 at 13:03
3

Instead of messing with all that, create a file called local.conf in the subdirectory /etc/ld.so.conf.d

In /etc/ld.so.conf.d/local.conf, add the following line:

/usr/lib32

Now sudo ldconfig

In Later versions of Ubuntu the /etc/ld.so.conf.d file contains /etc/ld.so.conf.d/*.conf. If this didn't work, ensure that line is added.

1
  • Appending /usr/lib32 to the file /etc/ld.so.conf worked perfectly.
    – Datoraki
    Jun 6, 2015 at 12:33
3

Skype relies on 32 bit libGL.so.1.On a 32-bit OS it will work without any problems.This problem is seen for those who uses the 64-bit Operating System.As I said before, skype relies on 32-bit libGL.so.1.But it first finds the 64 bit libGL.so.1 file and tries to use it for the rendering, which results in the above error : wrong ELF class. What to do is listed in this link.

Open the file /etc/ld.so.conf.d/skype.conf as listed below.

sudo nano /etc/ld.so.conf.d/skype.conf

Then append the line /usr/lib32( Or your path, if yours is a different one).

After running sudo ldconfig it should work without a problem. Check the link which I listed before for more information.

1
  • It is important to add only the path to the directory, and not to the file. On ubuntu 15.04 created /etc/ld.so.conf.d/skype.conf (you have cd into /etc/ld.so.conf.d/ because /etc/ld.so.conf.d is a text file) and added this line: /usr/lib/i386-linux-gnu/mesa/ Apr 20, 2016 at 8:07
0

This solution worked for me on Ubuntu 16.04

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/
-2

This solution worked for me on Debian 8

sudo ln -s /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 /usr/lib/i386-linux-gnu/
1
  • 1
    Ubuntu's Mesa installation uses different paths. Sep 15, 2016 at 11:45

Not the answer you're looking for? Browse other questions tagged .