yagshi's website
pi_piper を 64-bit 版 Raspberry Pi OS で使う

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。