-
Notifications
You must be signed in to change notification settings - Fork 4
Setup on Linux
ソースコード版
お使いの OS のバイナリパッケージ版がない場合や、最新のバージョンを利用したい方はソースコード版の利用をお勧めします。 ビルド方法
siren は三次元幾何演算ライブラリーの Open CASCADE Technology (OCCT) と組み込みに特化した軽量な Ruby 実装である mruby を利用しています。 siren をビルドするには、この二つの環境を整える必要があります。次に簡単な手順を示します。
- 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
- 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 という名前で実行パスの通った場所に配置してください。