36

I was trying to run android emulator in Ubuntu 12.04(64-bit). But, I got the following errors.

Starting emulator for AVD 'emulatr'
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
emulator: emulator window was out of view and was recentered

After using locate libGL. I found

/home/adnan/android-sdk-linux/tools/lib/libGL.so
/usr/lib/libGL.so
/usr/lib/i386-linux-gnu/libGL.so
/usr/lib/i386-linux-gnu/mesa/libGL.so
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0

I also tried some solution from this question But, didn't work. I will be glad, if you guys help to solve this problem.

jww
  • 97,681
  • 90
  • 411
  • 885
Adnan
  • 8,468
  • 9
  • 29
  • 45

6 Answers6

58

http://learnedstuffs.wordpress.com/2012/07/17/fixing-ubuntu-error-failed-to-load-libgl-so/

apt-get install libgl1-mesa-dev

worked for me

kleopatra
  • 51,061
  • 28
  • 99
  • 211
Researcher
  • 581
  • 4
  • 3
9

On Fedora

sudo yum install mesa-libGL-devel
MariuszS
  • 30,646
  • 12
  • 114
  • 155
8

As I'm using 64-bit Ubuntu 12.04. So, I did this

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Adnan
  • 8,468
  • 9
  • 29
  • 45
3

This works for me on Ubuntu 14.04 64-bit:

$ sudo apt-get install libgl1-mesa-dri
$ sudo ln -sv /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
Stephan Henningsen
  • 3,665
  • 1
  • 22
  • 29
1

You don't need the development files for libgl1-mesa, so instead you should/could install libgl1-mesa-dri instead of libgl1-mesa-dev as suggested by others. This saves you a couple of MB of unnecessary files.

Furthermore, the Android applications are either 32 bit or 64 bit.

For a or a 32 bit Ubuntu you require the 32 bit SDK (as 64 bit does not work):

sudo apt-get install libgl1-mesa-dri

Same goes for a 64-bit Ubuntu with a 64-bit SDK.

But for a 64 bit Ubuntu in combination with a 32 bit SDK, you need to specify that you require the 32 bit version of the package:

sudo apt-get install libgl1-mesa-dri:i386
Veger
  • 37,240
  • 11
  • 105
  • 116
0

I too had this problem (fedora 20), but the libGL files already existed on my filesystem. Based on an examination of the libraries on an older fedora 18 installation, I found that I could resolve the problem by providing a symbolic link for libGL.so linking to libGL.so.1.2.0.

alpartis
  • 1,086
  • 14
  • 29