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
mono のビルドには runtime が必要だが、存在しない場合は
export MONO_USE_LLVM=1
PATH=/opt/llvm/bin:/opt/mono/bin:$PATH
$ ./autogen.sh
実行後、以下を実行すればよいと記述されているが(more risky approach
$ make get-monolite-latest
事前に以下より最新版をDLしてインストールする
Home | Monoのインストール
mono-5.12.0.226.tar.bz2 をDL後
mono/monoのインストール
$ 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
適当な dir で
※mono が mono-sgen に link を張っているので --with-sgen
$ 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
を追加しているんだけど、どうなんだろう??
-> 結果を見ると無くても良さげ