Skip to content
Daisuke YAMAGUCHI edited this page Sep 21, 2016 · 5 revisions

ソースコード版

お使いの OS のバイナリパッケージ版がない場合や、最新のバージョンを利用したい方はソースコード版の利用をお勧めします。 ビルド方法

siren は三次元幾何演算ライブラリーの Open CASCADE Technology (OCCT) と組み込みに特化した軽量な Ruby 実装である mruby を利用しています。 siren をビルドするには、この二つの環境を整える必要があります。次に簡単な手順を示します。

  1. OCCT 環境の構築

OCCT は2016年1月22日時点で、最新の正式バージョンは 6.9.0 です。現在開発を進めている siren も 6.9.0 をベースとしています。 OCCT の公式ページにアクセスし、ソースコードをダウンロードします。ダウンロードには無料のユーザー登録が必要です。

ここでは、ダウンロードしたアーカイブを /tmp/opencascade-6.9.0.tar.gz とします。

$ cd /tmp
$ tar xvf opencascade-6.9.0.tar.gz
$ cd opencascade-6.9.0/
$ ./build_configure
$ ./configure --prefix /opt/occ690 --enable-debug=no --enable-production=yes \
--disable-draw  --with-vtk-include=/usr/include/vtk-6.1 --with-vtk-library=/usr/lib
$ sudo make -j4 install

上記の例では、automake を用いて /opt/occ690 にビルド・インストールしています。 automake のほか、CMake や XCode(Mac)、Microsoft Visual Studio を用いたビルド方法も準備されています。 詳しくは /tmp/opencascade-6.9.0/dox/dev_guides/building にあるドキュメントを参照してください。

また、OCCT が参照しているライブラリ等依存関係については、こちらの記事をご覧ください。 参考までに Debian GNU/Linuxでは、次のライブラリをインストールしました。

  • automake
  • libxmu-dev
  • freeglut3-dev
  • libvtk6-dev

ビルドとインストールが成功すると、 /opt/occ690 に次のようなファイルが配置されます。

$ ls /opt/occ690
Linux/  inc/  lib/  src/  config.h  codeblocks.sh  custom.sh  draw.sh  env.sh  xcode.sh
  1. mruby 環境の構築

mruby の最新バージョンは、Github にて公開されていますのでそれを用います。

$ git clone https://github.com/mruby/mruby.git
$ cd mruby

siren は、mruby の gem として mruby 本体に組み込まれた形になります。その為、mruby をビルドする前に mruby 向けの組み込み gem として登録する必要があります。 mrbgems/default.gembox の Ruby::GemBox.new do |conf| 内に、次の gem 設定を追記してください。

conf.gem :git => "git@github.com:dyama/mruby-siren.git"

mruby は軽量化を目標の一つとして開発されているため、基本機能に正規表現ライブラリやファイル操作ライブラリを含みません。必要であれば、こちらの公式リストを参考に gem を設定します。手順は上記と同様です。

gem を追加したら mruby のディレクトリに戻り、次のコマンドでビルドを行います。

$ cd ..
$ ruby minirake all

最新の siren のソースコードを自動的に取得し、ビルドを実行してくれます。 この時、siren のビルド手順で前項で設定した /opt/occ690 をインクルードパス・ライブラリパスとして読みに行くことに注意してください。 上記以外のパスを用いる場合は、シンボリックリンクを張るか、minirake が clone した mruby-siren の build/mrbgems/mruby-siren/mrbgem.rake ファイルを修正してからビルドしてください。

mruby の成果物は ./bin および ./build/host/bin に出力されます。

ファイル名 説明
mirb 対話的インタプリタ
mrbc オブジェクトコードコンパイラ
mrdb デバッガー
mruby 非対話的インタプリタ
mruby-strip オブジェクトコードのストリッパ

実行するには、/opt/occ690/lib を共有ライブラリパスに指定して、次のようにタイプします。

LD_LIBRARY_PATH=/opt/occ690/lib build/host/bin/mirb

また、サンプルスクリプトを実行するには、次のようにします。

LD_LIBRARY_PATH=/opt/occ690/lib build/host/bin/mruby build/mrbgems/mruby-siren/test/test.rb

ビルドが正常に済んだら、mirb および mruby をそれぞれ isr, siren という名前で実行パスの通った場所に配置してください。

Clone this wiki locally