pi_piper を 64-bit 版 Raspberry Pi OS で使う
tl;dr
pi_piperというgemは64-bit版Raspberry Pi OSでは動かないのですが、
libbcm2835.so
を自分でビルドすればok。
問題点
Raspberry Pi で Ruby からハードウェアを扱う際の便利な定番 gem として
pi_piper というものがあります。gem install pi_piper
でインストールできます。
この gem はビルド済みの libbcm2835.so
を持っているのですが、これが
32-bit ようにビルドされているので Raspberry Pi OS 64-bit 版では
動かないんです。ようはそれだけ。
どうするか
まず gem install pi_piper
はしておいてください。
そしてlibbcm2835
をダウンロードして自分でビルドするだけです。
C library for Broadcom BCM 2835 as used in Raspberry Pi
からソース一式(
bcm2835-1.71.tar.gz
)をダウンロードして展開します。そのディレクトリに移動して以下のようにやればlibbcm2835.so
が作れます。
$ ./configure
(中略)
$ ./make
(中略)
$ cd src
$ gcc -shared -o libbcm2835.so bcm2835.o
できあがった.soファイルをインストールした gem の pi_piper-2.0.0/lib/pi_piper/libbcm2835.so
と差し替えればok。