とんちゃん の ぐだぐだえびでい

gudaguda な everyday を お届け。

raspberry piにrubyのgem pi_piperをインストールしてみた話

rubyでGPIOをいじるために、gemのpi_piperをインストールしました。
その記録を残します!

http://qiita.com/katsuyoshi/items/d489bb2e98917ad46153github.com

環境について

私が持っているラズパイは、こちらです。

www.amazon.co.jp

なお、OSはraspbianです。

今日は、こちらのラズパイにpi_piperをインストールするまでの道のりを記します。

正解だった手順

  1. ruby-develをapt-get installする
  2. libssl-devをapt-get installする
  3. eventmachineを、openssl/includeでgem installする
  4. pi_piperをgem installする

ruby-develをapt-get installする

$ sudo apt-get install ruby-devel

そもそも脳死状態でpi_piperをインストールしたときに、

mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

というエラーが出まして、諦めかけたんですがruby-develがないのが原因とのことで、インストールしました!

こちらを参考にしました。
qiita.com

libssl-devをapt-get installする

$ sudo apt-get install libssl-dev

個々の説明はいったん下にまとめます。

こちらを参考にしました。
d.hatena.ne.jp

eventmachineを、openssl/includeでgem installする

$  sudo gem install eventmachine -v 1.0.5 -- --with-cppflags=-I/usr/include/openssl

ruby-develインストール後に、pi_piperをインストールしたところ、

In file included from binder.cpp:20:0:
project.h:116:25: fatal error: openssl/ssl.h: そのようなファイルやディレクトリは
 #include 
                         ^
compilation terminated.
Makefile:216: recipe for target 'binder.o' failed
make: *** [binder.o] Error 1

make failed, exit code 2

というエラーが出まして、エラーメッセージをググったところeventmachineにopensslをincludeしてgem installする必要がありました。
が、/usr/include/opensslがそもそも存在していなかったので、
先にopenssl-devel相当のlibssl-devをインストールしています。

こちらを参考にしました。
stackoverflow.com

pi_piperをgem installする

$ sudo gem install pi_piper

そして最後についにpi_piperです!!

このインストールが終わったら・・・俺・・・寝るんだ・・・