memo.log

技術情報の雑なメモ

rb_tuntap(x86用Native Extensionのgem)をARM版にして手元でインストールする

github.com

を使いたいのだが、手元の環境がARMで、Native Extensionで普通に公開されているのがx86_Linux用だった。↓

rb_tuntap | RubyGems.org | your community gem host

Native Extension はプラットフォーム別に公開されるようで、x86_Mac用のは別の人がアップしてくれていた。

search | RubyGems.org | your community gem host

そこでARM用のをコンパイルして使うまでのメモ。 作者がよければ公開してもいいのだけど、とりあえずローカルインストールすることにする。

手順メモ

リポジトリのソースをDLして、Rakefileのあるディレクトリで、

% gem install rake-compiler # なければ。
% rake build
% gem install pkg/rb_tuntap-0.2.0-aarch64-linux.gem # バージョンが違ったら適宜読み替えること

あとは普通に require できる。

 % irb                                                                              (git)-[master] 
irb(main):001:0> require "rb_tuntap"
=> true
irb(main):002:0> tun = RbTunTap::TunDevice.new("tun0")
=> #<RbTunTap::TunDevice:0x0000000030f1a128 @name="tun0", @type=1, @dev="/dev/net/tun", @fd=-1>

※ sudo で実行するときは sudo gem install する必要がある

参考

qiita.com

qiita.com