build gpsbabel


2019-06-01時点での情報です。

前提

GPS babelは、標準リポジトリからでは Version 1.5.4 が入ってしまい、GPSロールオーバーをおそらく正しく扱えない。 (GPXファイルの途中に1999年という異常な日付を持ったデータポイントが現われ、gpxファイルの生成が止まる。) 最新のバージョンでは gps-week-rollover という項目が増えたので正しく動く。自前でビルドしたい。

git clone https://github.com/gpsbabel/gpsbabel

./configure はQtが入っていないので失敗する。場合によってはlibusbが入っていないと言われる。

checking if Qt version >= 5.9... no
configure: error: Qt 5.9 or higher is required, but Qt  found.

なので、Qt5を入れる(debian stretch LTSには >= 5.9はまだない)

sudo apt install qt5-default

コンパイル後、

gpsbabel -w -t -i skytraq,gps-week-rollover=2 -f /dev/ttyUSB0 -o gpx -F gpx_test.gpx

などと打ってみて、正しいログ(gpx_test.gpx)が出力できているか確認する。 (公式サイトにはskytraq.binと書いてあるがこれは機能しなかった。skytraq-binは動くがskytraqとの違いがわからない。) ロガーの中にロールオーバーの起こった日の前後のデータが混在していると、どちらかは取り出せないかもしれない。 rollover=の数字をいじればいけるかもしれない。

これで、1023週間(19年弱?)は思い出さなくて良い。


追記

古いQtでも、バージョンチェックを迂回すればコンパイルは通るようだ。ただ、依存する機能があるかもしれず、すべてが正しく動くかはわからない。一応パッチ。

cd gpsbabel
wget -O gpsbabel_qt52.patch https://bitbucket.org/!api/2.0/snippets/kamomemew/5AjM8E/HEAD/files/gpsbabel_qt52.patch
patch -p 0 < ./gpsbabel_qt52.patch
もどる


かもめ - Make / Walk / Others / About