Hatena::Grouptwitterircgateway

yukogets が TIG ではうはう このページをアンテナに追加 RSSフィード

2009-05-13はうはう

FreeBSD で mono 2.4 を make する方法

| 20:58 |  FreeBSD で mono 2.4 を make する方法 - yukogets が TIG ではうはう を含むブックマーク はてなブックマーク -  FreeBSD で mono 2.4 を make する方法 - yukogets が TIG ではうはう  FreeBSD で mono 2.4 を make する方法 - yukogets が TIG ではうはう のブックマークコメント

※ 今は ports で普通に mono 2.4 系がインストールできますので、この記事は無意味となりました。


f:id:yukogets:20090513203818p:image とうとう FreeBSD 上で mono 2.4 が動くようになってちわちわしてる。ていうか公式に ports へのパッチがあって全然難しくなかった。

f:id:yukogets:20090513203819j:image @yukogets その辺りのことブログに纏めといてもらえると嬉しいです

f:id:yukogets:20090513203818p:image @ssig33 はあく

というわけで書きます。


いきさつ

自宅のサーバでは FreeBSD 7.1-RELEASE を使用しているのですが、この環境では TIG にバンドルされている monoライブラリの依存関係の問題で動作しません。

ports から mono を入れれば実行できます。しかし、今現在 portsインストールできる mono 2.0 では、DLR スクリプトを reload するとエラーになってしまいます。

どうやら 2.2 or 2.4 を入れれば動くらしいですが、monotar 玉を取ってきて ./configure && make しても途中でエラーを吐いて止まります。ううむ。困った。

というわけで、ちょっと調べてみたら割と簡単に 2.4 が入りました。以下その方法です。

mono-merge のインストール

前述の通り、FreeBSD 上ではそのままでは mono の make が通りません。

それをなんとかする仕組みが、こちらの中ほどにある mono-merge です。

これは何かというと、portsmono のバージョンを新しくし、さらにそれの make が通るように依存する ports に修正パッチを当てまくるツールです。

$ fetch http://bsd-sharp.googlecode.com/files/mono-merge.tar.gz
$ tar xvzf mono-merge.tar.gz
$ cd mono-merge
$ sudo make install
Password:
install -o root -g wheel -m 555 mono-merge.sh /usr/local/bin/mono-merge
install -o root -g wheel -m 444 mono-merge.8 /usr/local/man/man8
install -o root -g wheel -m 444 mono-merge.cfg /usr/local/etc
$ sudo /usr/local/bin/mono-merge
...

で、終わると /usr/ports/lang/monoインストール対象バージョンが 2.4 になり、make install できるようになっています。

mono 2.4 のインストール

$ cd /usr/ports/lang/mono
$ sudo make install clean
...

これだけです。あっけない。

というわけで、

FreeBSD 7.x でもちわちわしたりできるようになりました。

めでたしめでたし。

参考

d:id:ak11:20081009 FreeBSDmonoを入れた