2015年2月22日日曜日

Monoを3.10.0に更新中 #2

lang/mono をFreeBSD8.4で最新のものをビルドすると devel/llvm34 がインストールされてしまうので、更新をずっとためらっていたんですが、FreeBSD10.1でもemacsをインストールしようとすると、(たぶん、まだclangに全面的に対応できてないのか) gccがインストールされてしまうようです。
まあ、それならあんまりためらっている事もないか....と、portsを最新にしていろいろアップデイトを掛けてました。
なんか、FreeBSDのバイナリーパッケージングシステムがpkgngに変わったので、いろいろと調整が必要で、結構時間かかってしまいました。一番時間かかるのは、古い頭を新しいシステムになれさせる事なんですが....。

で、別環境で作成した最新バイナリーパッケージを使って、OpenSim動かしているマシンを更新かけたところ、libgdiplus.soが読み込めなくて、OpenSimが立ち上がらなくなりました(;Д;)。

Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: libgdiplus.so 

あれぇ?と思って、libgdiplusを再構築してみたら、src/gifcodec.c のコンパイル中にエラーがでてました。調べてみると「2015-01-15  Update graphics/giflib to 5.0.5」ってMakefileのSubversionログにはかかれているけど、giflibライブラリのインターフェイスが変わっているのに、ソースコードが未修正なのが原因みたいです(libgdiplusのporterさん、ちゃんとテストしてるのかしら?)。

しかたないので、中身の意味もろくすっぽ調べないで、適当にパッチあてて、コンパイルだけ通して、バイナリーパッケージ作成し、更新かけてみましたけど......やっぱりだめでした....。

気を取り直して、 OpenSim動かしているマシンに残っていた古いportsソースを元に、libgdiplusを作り直したら、とりあえず動くようになりました。 libgdiplusは、依存するライブラリがかなりあるので、慎重にビルドしないとだめのようです...(ライブラリの依存関係の情報もlibgdiplusはちゃんとかかれてないようですし....。とはいうものの、私もports作成に関しては知識あんまりないけど...)。

ところで、libgdiplusって、OpenSimでは、Mapイメージ作るのにひつようなのかしら???

というわけで、OpenSimが立ち上がって、とりあえず、ホっとしてます。 新しい環境に移行する場合は、テスト用のマシン・環境にインストールして、確認してからの方がやっぱりいいですね....。今後、どうやって、やろうかしら....。やっぱりもうひとつJail環境つくって、そのなかでテストしてからの方がいいかな....。

0 件のコメント:

コメントを投稿