新しいPCは64bit。
ま、あまり影響ないよね、と油断してたら、adbまわりでエラーがでた。
ADTインストール中にも、adb kill failureとか見たような気が・・・
すんだ事を気に病んでもしかたがない、ポジティブシンキングで行こう!
症状は、エミュレータ作成しようとするとエラーになって作れない。
tools/mksdcard: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Failed to create the SD card.
Failed to create sdcard in the AVD folder.
libstdc++.so.6?
ldd adb 実施。なにが足りないのか、分かるかな。
linux-gate.so.1 => (0xf779a000)
librt.so.1 => /lib32/librt.so.1 (0xf7781000)
libncurses.so.5 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7767000)
libstdc++.so.6 => not found
libm.so.6 => /lib32/libm.so.6 (0xf7741000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7725000)
libc.so.6 => /lib32/libc.so.6 (0xf75ca000)
/lib/ld-linux.so.2 (0xf779b000)
libncurses.so.5
libstdc++.so.6
両方分かりませんが。
ググったら、g++-multilibが必要らしい
インストールした。
Ubuntu ソフトウェアセンターで、「g++」で検索したら、いくつか出てきた。
ぐぐる先生の言う通りに g++-multilibと書いてあったものをインストールした。
ldd adb よもう一度。
linux-gate.so.1 => (0xf7728000)
librt.so.1 => /lib32/librt.so.1 (0xf770f000)
libncurses.so.5 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0xf76f5000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf760a000)
libm.so.6 => /lib32/libm.so.6 (0xf75e4000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf75c8000)
libc.so.6 => /lib32/libc.so.6 (0xf746d000)
/lib/ld-linux.so.2 (0xf7729000)
libncurses.so.5が相変わらずない。
普通にncursesをインストールしてもダメ。
上のldd結果をよーく見ると、/lib32というのが見えますね。
32bit版が必要なのです。
そこで、32bit版のncurses5を探します。
Ubuntuソフトウェアセンターにはありません。
探し方が悪いかもしれませんが、ないのでコマンドで。
apt-cache search ncurses
おぉ!たくさんある。
apt-cache search ncurses | grep lib32
これでOK
見つかったncursesの32bit版をインストール
sudo apt-get install lib32ncurses5
linux-gate.so.1 => (0xf774f000)
librt.so.1 => /lib32/librt.so.1 (0xf7736000)
libncurses.so.5 => /lib32/libncurses.so.5 (0xf76fd000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf76e3000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf75f8000)
libm.so.6 => /lib32/libm.so.6 (0xf75d2000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf75b6000)
libc.so.6 => /lib32/libc.so.6 (0xf745b000)
/lib/ld-linux.so.2 (0xf7750000)
お、全部埋まった。
エミュレータ作成・・・成功!
動くかな
エミュレータ実行・・・まさかの失敗。
SDL init failure, reason is: No available video device
なんと!
しらべていったら、32bit版のライブラリがいろいろ足りないらしい。
そんなときは、ia32なんていう便利なものがあるので、いれるといいよ。
sudo apt-get install ia32-libs
よし、エミュレータ実行
動いた!
64bitっていろいろこまかく発生するねぇ
動いてよかった。
動いてよかった。
0 件のコメント:
コメントを投稿