blogこの広告は、90日以上更新していないブログに表示しています。゙いえむにっきの続きです。OSvでmrubyが動くようになったのですがmrbgemsを追加していないのでこのままではAPIがむっちゃ少なくてなにも書けません。mrbgemsの移植ってそれぞれ依存ライブラリあったりして動かすの面倒よなー、とか思ってたら、こんなのが目にとまりました。\('A`)ノヽノヽくくOSvってプロセスがカーネル権限で走っていて何でも出来るしカーネルのC関数直接叩けるので、これ入れると何でもありになるんじゃね...?危険だ、ヤバい。移植してみよう(いいのか)。訳で、3分mrubyクッキング〜。手始めに、build_config.rbにmruby-cfuncをくわえます。'master'これでビルドを試してみると、当然ffi.hがねーよって怒られます。本来ならばlibffiもmrubyのようにOSvへ移植すべきでしょうが、幸いなことにOSvはある程度Linuxとの互換性があります。...ので、今回は、libffiのクロスコンパイルを避けてLinuxバイナリとのリンクを目指します。ヘッダはLinuxからコピーしちゃいます。ffi.h/usr/include/x86_64-linux-gnu/ffi.hこれをosv/mruby/includeを作ってそこに入れました。コンパイル時に見に行くようにcc.flagsへ”-I../../mruby/include”を追加します。するとビルドは通りますが、libffiをリンクしていないためこのままでは動きません。ダイナミックリンクライブラリのロード面倒だな、スタティックに行けないかなって思ってたら、こんなのを見つけました。libffi_pic.a/usr/lib/x86_64-linux-gnu/libffi_pic.aこれだ!というわけで、これをosv/mruby/へコピー。mruby/build.mkにlibffi_pic.aを足します。allしてみるとビルド成功!早速OSvでmirbを起動して試してみましょう。15:53OSvへmruby-cfuncを移植してみたらとてもあっさりと動いた話Tweet広告を非表示にする関連記事2018-05-30i3.metalのインスタンスを作ってみたのでいろいろ実行してみたとりあえず色々みてみた。libltdl-...2013-11-13mruby専用クラウドOS「μOSv」を作りました追記:μOSvはOSv本家にマージされました。月別アーカイブ参加グループプログラミングはてなブログをはじめよう!syuu1228さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。