広告バナー

続・チャット仮想空間ソフト「MikuMikuOnline」サーバのビルド&インストールに挑む ![成功]( on Vine Linux 6.2 with gcc 4.6.4)

 以前の記事の続きです。前回は、gcc 4.5.4 + boost 1.58.0の組み合わせで、「MikuMikuOnline」(以下、単にMMOという)サーバのビルドに挑みましたが、最終的には、現在のMMOクライアントのboostバージョン(1.57.0)の違いにより、通信できませんでした。

 この後、マクロ定義で、boostのバージョンを誤魔化そうとしましたが駄目でしたw。また、サーバのboostのバージョンを下げて、gcc 4.5.4 + boost 1.57.0でビルドしようとしましたが、やはり、「error: ‘addressof’ is not a member」が発生し、ビルドできませんでした。このエラーは、「Fixed detection of C++11 std::addressof with g++ (#10982)」に起因するものと思われます。

 そこで、gccのバージョンを上げて、gcc 4.6.4にアップし、gcc 4.6.4 + boost 1.57.0の組み合わせで、挑戦してみることにしました。

 前回インストールしたgcc 4.5.4とboost 1.58.0(この二つは、/usr/localにインストール済み)と混在しないように、/home/localというディレクトリを作成し、そこに、gcc 4.6.4 + boost 1.57.0をインストールすることにしました。

 先行してビルドしたboost 1.57.0のビルドは、以下のように行いました。

export LD_LIBRARY_PATH=/usr/local/lib; ./bootstrap.sh

export LD_LIBRARY_PATH=/usr/local/lib; ./b2 install toolset=gcc cxxflags=-fPIC library-path=/usr/local/lib -j1 --prefix=/home/local/boost/1_57_0 --without-mpi

 この後は、gcc 4.6.4のビルドを参考ウェブページ[1]を参考に行った。

[gmp]

export LD_LIBRARY_PATH=/usr/local/lib; ./configure --prefix=/home/local/gcc/4.6.4

export LD_LIBRARY_PATH=/usr/local/lib; make

export LD_LIBRARY_PATH=/usr/local/lib; make check > check.log

export LD_LIBRARY_PATH=/usr/local/lib; make install

[mpfr]

export LD_LIBRARY_PATH=/usr/local/lib; ./configure --prefix=/home/local/gcc/4.6.4 --with-gmp=/home/local/gcc/4.6.4

export LD_LIBRARY_PATH=/usr/local/lib; make

export LD_LIBRARY_PATH=/usr/local/lib; make check > check.log

export LD_LIBRARY_PATH=/usr/local/lib; make install

[mpc]

export LD_LIBRARY_PATH=/usr/local/lib; ./configure --prefix=/home/local/gcc/4.6.4 --with-gmp=/home/local/gcc/4.6.4 --with-mpfr=/home/local/gcc/4.6.4

export LD_LIBRARY_PATH=/usr/local/lib; make

export LD_LIBRARY_PATH=/usr/local/lib; make check > check.log

export LD_LIBRARY_PATH=/usr/local/lib; make install

[gcc]

export LD_LIBRARY_PATH=/usr/local/lib; ../gcc-4.6.4/configure --prefix=/home/local/gcc/4.6.4 --enable-languages=c,c++,fortran --with-gmp=/home/local/gcc/4.6.4 --with-mpfr=/home/local/gcc/4.6.4 --with-mpc=/home/local/gcc/4.6.4 --without-ppl --with-elf=/usr/local

export LD_LIBRARY_PATH=/home/local/gcc/4.6.4/lib:/usr/local/lib; make bootstrap

export LD_LIBRARY_PATH=/home/local/gcc/4.6.4/lib:/usr/local/lib; make install

 これで、MMOサーバをビルドする準備が出来た。サーバのMakefileも、上記に合わせて書き換えた。

CXXFLAGS = -v -g -ggdb -Wall -std=gnu++0x -I/usr/include/cryptopp -I/home/local/boost/1_57_0/include -I/home/local/gcc/4.6.4/include -I/usr/local/include

LIBDIRS = -L/home/local/gcc/4.6.4/lib -L/home/local/boost/1_57_0/lib -L/usr/local/lib -L/usr/lib

 そして、makeコマンド実行。

export PATH=/home/local/gcc/4.6.4/bin:$PATH; export LD_LIBRARY_PATH=/home/local/gcc/4.6.4/lib:/home/local/boost/1_57_0/lib:/usr/local/lib; make 2>&1 | tee make.log

 これで、終わるかと思ったら、cryptoppでリンクエラー発生。どうやら、gcc 4.6.4で再ビルドが必要だったらしい。

export PATH=/home/local/gcc/4.6.4/bin:$PATH; export LD_LIBRARY_PATH=/home/local/gcc/4.6.4/lib:/usr/local/lib; make 2>&1 | tee make.log

 再度、MMOサーバのmakeコマンドを実行し、かなりの時間を費やして、ビルド完了となった。

 config.jsonファイルなどをWindowsのアプリから持ってきて、MMOサーバプログラム(ファイル名:server)と同じディレクトリに以下のように配置する。

server
config.json
channels/
ch000/
config.json

 前回の記事のように通信ポートを開いた後、MMOサーバプログラムを起動し、Windowsから接続してみた。今回は、見事に成功!。

export LD_LIBRARY_PATH=/home/local/gcc/4.6.4/lib:/home/local/boost/1_57_0/lib; ./server &

 やぁ、嬉しいなぁ。やはり、鍵は、boostバージョンの一致だったようです。これで、マイ仮想空間を構築できるぞぉ!w。

[追記 2015年6月7日 23:10]
・某所で伺ったところ、boostのバージョンはクライアント-サーバ間で、クライアント側が上位バージョンであれば良いらしい。つまり、現在のクライアントのバージョンだと、サーバのboostバージョンは、≦ 1.57.0で良いそうだ。

[追記 2015年7月12日 16:30]
・公式サーバ/クライアントはboost 1.51を採用しているため、実際には、boostバージョンは、≦ 1.51.0が良いようだ

[参考ウェブページ]

[1] Vine Linux に gcc4 をインストールする

[2] MikuMikuOnline wiki



にほんブログ村 トラコミュ MikuMikuDance(MMD)情報へ
MikuMikuDance(MMD)情報

スポンサーサイト

テーマ : ソフトウェア
ジャンル : コンピュータ

広告バナー

コメントの投稿

非公開コメント

最新記事
最新トラックバック
最新コメント
カテゴリ
検索フォーム
アイコン
のんのんびより
超訳百人一首 うた恋い。
あっちこっち
けいおん!!
機動戦士ガンダム
キャラ&ホビー格安通販 あみあみ
Google+
お知らせ
現在、私事で忙しくて、TB返しが出来ない状態にあります。落ち着いたら、TB返しを開始しますので、よろしくお願いします(2013/05/10)
Twitter
QRコード
QRコード
メールフォーム
このブログに関するお問い合せなどにお使いください

名前:
メール:
件名:
本文:

ブロとも申請フォーム

この人とブロともになる

ガリレイドンナ
ゆるゆり
ココロコネクト
アイドルマスター
牙狼<GARO>
アニメDVD
キャラアニ
月別アーカイブ