ここで言う「私でもできる!」は筆者でもできるという意味であり、これを読んだ全ての人ができるという意味ではないので注意
あくまでこれは備忘録的な記事なので「この通りやったけど動かないんだけど!?」みたいなクレームを言われても困ります
やりたいこと
illumi-packetというLEDでパケット可視化されるLANケーブルのソフトウェアを動かしたいけど、依存パッケージの仕様変更でビルドができないのでなんとかしたい
前提環境
- Raspberry Pi 3B
- Ubuntu 22.04.2 LTS
おことわり
- ローカル環境をできるだけ汚したくないのでDockerで仮想化します
- 実際に光らせるLEDが無いので動くかは知りません
やったこと
illumipacketのソースコードを用意
依存パッケージ関係を全部なんとかしてあるいい感じ™なフォークがあるのでそれを使う
git clone https://github.com/yuukami256/illumi-packet.git
cd illumi-packet
goのコンテナを作成
docker run -v $(pwd):/illumi-packet --rm -it golang bash
cd /illumi-packet
RasPi3Bだとスペックに余裕がなさすぎてつらい
libcap, sconsのインストール
apt update
apt install libpcap-dev scons
rpi_ws281xのインストール
git clone https://github.com/jgarff/rpi_ws281x.git
cd rpi_ws281x
scons
cp -ai ./ws2811.h ./rpihw.h ./pwm.h /usr/local/include/
cp -ai ./libws2811.a /usr/local/lib/
illumi-packetのビルド
go build illumi-packet.go
めっちゃ待つ
完成
カレントディレクトリにillumi-packet
という実行ファイルがあるのでそれを実行すれば多分動く
余談
- 光らせるLEDがないのになんでビルドするのかと訊かれたら困る(実際は私がillumi-packetを動かしたいわけでなかったので)