SiG Staff Blog

福井と金沢にあるSIGという会社で流行らそうとしたノウハウ集。主に流行らないが・・・。

Ubuntu18にOpenSTFを入れてみた

openSTFとは

Androidの実機をブラウザ経由で遠隔から操作できるアプリ

github.com

なぜこの記事を書くのか

公式に書いてある通りに実行したら、全然インストールができなかったので、誰かの役に立つかなって思って。

今回の前提

  • OSから新規でインストールする。
  • 2018年7月での話です。今後アップデートされるとサクッとインストールできるかもしれないです。

はまったポイント

  • rethinkdbがインストールできない。
  • ubuntu16にするとサポート切れでupgradeできない。
  • Ubunsu以外のディストリビューションに入れようとするも、同じようにどっかでエラーが起きる。

動くまでにやった手順

ともあれ、Ubuntu16をインストール

rethinkdbのmakeがUbuntu18ではコンパイルでエラーを出すので、Ubuntu16をインストール。

17ではなく16を選んだのは、ネットで調べていたら17でもエラーが出て困っている人がいたからです。

Ubuntu 16.04 LTS 日本語 Remix リリース | Ubuntu Japanese Team

rethinkdbをインストールする

公式Install RethinkDB on Ubuntu - RethinkDBにある通りインストールする。

source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install rethinkdb

Ubuntu18にアップグレードする

Ubuntu17のサポートが切れているので

apt-get dist-upgrade

でアップグレードできなかったので、下のサイトサイトを参考にアップグレードを実行する。

server.etutsplus.com

いくつか方法が紹介されているが、サーバーを立てるのが面倒くさかったので

歯抜け状態でのアップグレード その2. sources.list を書き換えて、A → (飛んで) → C へ

を実行しました。

wikipediaUbuntu - Wikipediaからコードネームを引っ張ってきて、

sudo vi /etc/apt/sources.list

で開いてコードネームを下のように変更する。

Yakkety -> Bionic

で、アップグレードをする。

sudo apt-get dist-upgrade

注意

アップグレード中にサスペンドするとログインができなくなって、アップグレードの進捗がわからなくなって、いつ再起動すればいいのかわからなくなってしまうので、設定でサスペンドしないように変更して置いたほうが良いです。

STFに必要な他のアプリをインストールする

色々インストール

sudo apt-get update
sudo apt-get install git android-tools-adb python autoconf automake libtool build-essential ninja-build libzmq3-dev libprotobuf-dev graphicsmagick yasm stow

gitをインストール

git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
  echo "source ~/.nvm/nvm.sh” >> ~/.bashrc

LTSのバージョンを確認して、それを使用する。

nvm ls-remote
nvm install [バージョン]

ZeroMQをインストール

cd ~/Downloads
wget http://download.zeromq.org/zeromq-4.1.2.tar.gz
tar -zxvf zeromq-4.1.2.tar.gz
cd zeromq-4.1.2
./configure --without-libsodium --prefix=/usr/local/stow/zeromq-4.1.2
make
sudo make install
cd /usr/local/stow
sudo stow -vv zeromq-4.1.2

protocolbufferをインストール

cd ~/Downloads
git clone https://github.com/google/protobuf.git
cd protobuf
./autogen.sh
./configure --prefix=/usr/local/stow/protobuf-`git rev-parse --short HEAD`
make
sudo make install
cd /usr/local/stow
sudo stow -vv protobuf-*

sudo ldconfig

OpenSTFをインストール

cd
mkdir openstf
cd openstf/
git clone https://github.com/openstf/stf.git
cd stf
sudo npm install -g stf --unsafe-perm

OpenSTFを起動する

#DBを起動
rethinkdb

#起動
stf local

途中で、ADBサーバーでエラーが起きるとき

一旦stfを止めて、手動で起動すれば良いみたいです。

adb start-server

画面を表示してみる

起動した端末で http://127.0.0.1:2100 にアクセスして、ログイン画面が表示されれば成功。