Arch LinuxでAndroid Studioを使ってC++ supportのプロジェクトを作るときにやったこと
プロジェクト作成は省略。Hello from C++を表示するまでにやったこと。 Arch Linuxではプロジェクト作ってそのままだとGradle syncがCMake実行時にコケてしまったのでメモ。
libncurses
なんかlibncurses.so.5
が見つからないと言われる。
ncurses は インストール済みなのに言われるので調べたらlibncurses.so.6
が入ってるんですね。
なので symbolic link を貼って解決すればいいとのこと。
[SOLVED]Cannot find libncurses.so.5 / Newbie Corner / Arch Linux Forums
sudo ln -s /usr/lib/libncursesw.so.6 /usr/lib/libncurses.so.5
libtinfo
ncursesの解決はできたものの今度は libtinfo.so.5
が見つからないとのこと。
sudo pacman -Ss libtinfo
なんて適当に調べても見つからない。
おとなしくググると、 AURにはあるらしい。
なのでyaourt -S libtinfo
でインストール。/usr/lib
の下を確認するとlibtinfo.so.6
がいることを確認
sudo ln -s /usr/lib/libtinfo.so.{6,5}
これでとりあえずはGradle syncがコケなくなってHello from C++が表示できました。
お疲れ様でした。
参考:
- [SOLVED]Cannot find libncurses.so.5 / Newbie Corner / Arch Linux Forums
- libtinfo.so.* missing in Arch Linux · Issue #778 · Valloric/YouCompleteMe · GitHub
おまけ
いつものエミュレータが起動できないlibstdc++のアレ
追記: 2017/03/14現在、確認
SDKいくつで変わったのかはわかりませんが、soが移動してました。ので
mv $ANDROID_SDK_HOME/emulator/lib64/libstdc++/libstdc++.so.6{,.back} ln -s /usr/lib/libstdc++.so $ANDROID_SDK_ROOT/emulator/lib64/libstdc++/libstdc++.so.6
↑こんな感じで。
↓では動きません。動きませんというか、ファイルがないのでコケるはず。
mv $ANDROID_SDK_HOME/tools/lib64/libstdc++/libstdc++.so.6{,.back} ln -s /usr/lib/libstdc++.so $ANDROID_SDK_ROOT/tools/lib64/libstdc++/libstdc++.so.6