Ubuntu18.04でdump1090-faをインストールするときにつまづいたのでメモしておく。
インストール時の環境
OS: Ubuntu18.04
CPU: Intel Core2 Duo
メモリ: 4GB
前提
RTL-SDRのセットアップが終わっている。
必要なパッケージのインストール
ターミナルを起動して以下のコマンドを入力して実行する。
$ sudo apt install git lighttpd debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev libusb-1.0-0-dev
$ sudo apt install librtlsdr-dev libbladerf-dev dh-systemd libncurses5-dev
$ sudo apt install libhackrf-dev liblimesuite-dev
dump1090-fa4.0からはLimeSuiteも必要らしいのでここを見ながらインストールした。
以下のコマンドを入力するとインストールできる
$ sudo add-apt-repository -y ppa:myriadrf/drivers
$ sudo apt-get update
$ sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images
$ sudo apt-get install soapysdr-tools soapysdr-module-lms7
dump1090-faのダウンロード
必要なパッケージのインストールが完了したら以下のコマンドを入力してdump1090-faのソースコードをダウンロードする。
$ git clone https://github.com/flightaware/dump1090 dump1090-fa
dump1090-faのビルド
以下のコマンドを入力して.deb形式でビルドする。deb形式でビルドするとインストールがかなり楽(deb形式でビルドしないときのインストール方法はわかりませんが…)。
$ cd dump1090-fa
$ dpkg-buildpackage -b --no-sign
エラーが発生したとき
ぼくの環境では以下のようなエラーが出た。
Error: No dependency information found for /usr/local/lib/librtlsdr.so.0 (used by debian/dump1090-fa/usr/bin/dump1090-fa)
これはdebian/rules
を編集し、末尾に以下を追加すると解決する。(ここに書いてあった)
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
この2行目の先頭の空白部分はスペースでなくタブで入力しないとエラーになるので注意。
編集後、再度ビルドすると問題なくビルドされる。
dump1090-faのインストール
以下のコマンドを入力してインストールする。
$ cd ..
$ sudo dpkg -i dump1090-fa_4.0_amd64.deb
インストールする.debファイルはdump1090-fa_[バージョン番号]_amd64.deb
となっているものを選択する。
末尾のamd64
のところは使用してるPCないしraspiのアーキテクチャが違えば変わります。
dump1090-faの起動
以下のコマンドを入力してdump1090-faを起動する
$ sudo systemctl enable dump1090-fa.service
$ sudo service dump1090-fa start
ここまできたらブラウザを立ち上げ、localhost:8080にアクセスするとdump1090-faが動いているのが確認できるはず。
参考文献
・RaspberryPiでADS-Bを受信してFlightrader24にフィードしてみた|cope|note
・Lime Suite - Myriad-RF Wiki
・Dump1090 mutability 1-15 on Mint linux - Flightradar24 Forum