LoginSignup
7
2

More than 5 years have passed since last update.

AndroidStudioでエミュレータ起動時にi965_dri.soがロードされない

Last updated at Posted at 2017-02-21

環境

  • Ubuntu16.10
  • AndroidStudio v2.2.3

症状

  • エミュレータ起動時にlibGLエラーが発生する。
  • i965_dri.soがロードできない云々のエラーがでる

こんなやつ

Cannot launch AVD in emulator.
Output:
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  49
  \(^o^)/
  \(^o^)/
  \(^o^)/

調査

i965_dri.soで検索したらarchlinuxのフォーラムにて解決されてた。
https://bbs.archlinux.org/viewtopic.php?id=213192

ちなみに、UbuntuとかCentOSとかarchとかで問題が発生しているようなので、Linux全般で往々にして発生する可能性がありそうですね。

原因

https://developer.android.com/studio/install.html
AndroidStudioをダウンロードしたときに表示されるインストール手順に従ってもこの問題は発生すると思われる。

Android/sdk/tool/lib64/libstdc++.so.6をAndroidStudioはエミュレータ起動時に見に行くが、本来見て欲しいのは公式手順にしたがって自分でインストールした/usr/lib32/libstdc++.so.6

公式手順でインストールしたライブラリを見に行ってくれていないのが原因。なのでリンクを貼り直すことで解決できるようです。

解決策

一応Ubuntuを対象に書くけども、他のやつでも多分大丈夫。

まずは念の為公式手順にしたがってインストールしとく。
以下AndroidStudioから抜粋

注: 64 ビット版の Ubuntu をご利用の場合は、以下のコマンドで 32 ビット用のライブラリをいくつかインストールする必要があります。

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2.1.0 lib32stdc++6

上のやつ、たぶんエラーで止まると思うけど、すんなり入るやつだけ入れとけば大丈夫だと思われる。

コマンドでインストールされているかを確認。

ls /usr/lib32/libstdc++.so.6
もしくはこっち
ls /usr/lib/libstdc**.so.6

存在を確認したら、lnコマンドでリンクを貼ります。
オプション-sfをつけてください。

ln -sf /usr/lib32/libstdc++.so.6 ~/Android/sdk/tools/lib64/libstdc++/libstdc++.so.6

環境によって微妙に位置が違うっぽいので、コピペせずに確認しながらやったほうがよか。

起動してみると動くと思います。もしかしたらデバイスを作成し直すかAndroidStudioを再起動したほうがいいかもしれないですが、しなくても動いたんでいけると思います。

所感

はじめての投稿でどきどき。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2