Ubuntu 18.04 で MONO + LLVM をビルドしてみる
Ubuntu 18.04 で MONO + LLVM をビルドしてみる
mono-wasm を見て、どうかなと見るとmono/monoに移行した風なので
試してみたんだけど --enable-wasm 追加すると
--------------------------------------------------------
NALIGNED_ACCESS -s WASM=1 conftest.c >&5
gcc: error: WASM=1: No such file or directory
--------------------------------------------------------
で落ちるんだが、何か間違えているんだろうなぁ・・・・・
※もしくは、よくわかってない・・・
とりあえず、メモとして残しておく
--------------------------------------------------------
./configure --help を見ると --with-wasm=yes が正しい
buildは最終的に通ったコマンドのみを残すように修正
※やはり 一発通して確認するのが基本だよな・・と反省
※現在は --enable-wasm は
This is a workaround to enable usage of old automake versions
that don't recognize the wasm triplet
これは、古いautomakeのバージョンの使用を可能にするための回避策です
だから autogen.sh では使用しないということで良いのかな?
--------------------------------------------------------
※今の時点では LLVM のビルド後 MONO をビルドするという制限があるようだ
(これは正しい)
※mono の option flag の制限がある(らしけど何とは記述されてない?
※2018/06/15 の時点では 18.04 では build エラーになる
16.04 LTS では build が正常終了する
Mono LLVMのインストール
適当な dir で
$ git clone --recursive git://github.com/llvm.git $ cd llvm $ ./configure --prefix=/opt/llvm --enable-optimized --enable-targets="x86 x86_64" $ make $ sudo make install
以下の環境変数を設定する
export MONO_USE_LLVM=1 PATH=/opt/llvm/bin:/opt/mono/bin:$PATH
mono のビルドには runtime が必要だが、存在しない場合は
$ ./autogen.sh
実行後、以下を実行すればよいと記述されているが(more risky approach
$ make get-monolite-latest
事前に以下より最新版をDLしてインストールする
Home | Monoのインストール
mono-5.12.0.226.tar.bz2 をDL後
$ tar xf mono-5.12.0.226.tar.bz2 $ cd mono-5.12.0.226 $ ./autogen.sh --prefix=/opt/mono CFLAGS=-L/opt/llvm/lib --enable-llvm $ make get-monolite-latest $ make $ sudo make install
mono/monoのインストール
適当な dir で
$ git clone --recursive git@github.com:mono/mono $ cd mono $ ./autogen.sh --prefix=/opt/mono CFLAGS=-L/opt/llvm/lib --enable-llvm --enable-llvm-runtime --with-wasm=yes $ make $ sudo ../mono-5.12.0.226/make uninstall $ sudo make install
※mono が mono-sgen に link を張っているので --with-sgen
を追加しているんだけど、どうなんだろう??
-> 結果を見ると無くても良さげ