2012年9月20日木曜日

openSourceなrtmfp再び

以前インストールしたCumulusサーバーですが、先日centos6にバージョンアップしたsakuraのvpsに再度いれてみました。

バージョンがあがってて、いれにくかったです。

では、やったこと。
まず、opensslとpocoが必要ってわかっていたので、いれました。

1:openssl
# yum install opensslとやったところ、既にインストール済みでした。
# yum install openssl-develとこちらはインストールされていませんでした。いれて問題ないので、いれました。

2:poco
wgetでダウンロード
$ wget http://jaist.dl.sourceforge.net/project/poco/sources/poco-1.4.4/poco-1.4.4.tar.gz
解凍
$ tar zxvf poco-1.4.4.tar.gz
$ cd poco-1.4.4
$ make
# make install
これで完了。

本題のCumulusを取得
$ git clone https://github.com/OpenRTMFP/Cumulus.git cumulus
先ほどいれたpocoが/usr/local/libにはいっているので環境変数にいれて利用できるようにしておく。
$ export LD_LIBRARY_PATH=/usr/local/lib
コンパイルする。
$ cd cumulus/CumulusLib
$ make
CumulusEdgeというのもあるので、一応コンパイルしておく。
$ cd ../CumulusEdge
$ make
本題のCumulusServerをコンパイルする。
$ cd ../CumulusServer
$ make
ここでエラーがでる。どうやら、luaというのが必要らしい。
luaそのものは一応はいっていたけど、ヘッダーファイルとかはなさそうだったのでdevelをいれることにする。
# yum install lua-devel
ここで/usr/includeにlua.hやlua.hppが入っていることを確認しました。
標準ライブラリにはいったので#include <lua.h>で対処できるようになりました。
Cumulusのプログラムの記述では、その部分が、相対パスになっているのでプログラムを書き換えます。
変更点はcumulus/CumulusServer/sources/Script.hとScript.cppです。
Script.h

extern "C" {
// #include "lua5.1/lua.h"
// #include "lua5.1/lauxlib.h"
#include <lua.h>
#include <lauxlib.h>
}

Script.cpp
extern "C" {
// #include "lua5.1/lualib.h"
#include <lualib.h>
}

あとはmakeしておわりだと思ったんですがまだ障害がありました。
/usr/bin/ld: cannot find -llua5.1
こんなエラーがでて、makeに失敗します。

サーバーの中身を確認してみたところ
luaはちゃんとはいっていました。makeFileの書き方かな・・・と思ったところビンゴでした。
#LIBS ?= -lCumulus -lPocoFoundation -lPocoXML -lPocoUtil -lPocoNet -lcrypto -lssl -llua5.1
LIBS ?= -lCumulus -lPocoFoundation -lPocoXML -lPocoUtil -lPocoNet -lcrypto -lssl -llua
ライブラリ指定の部分を-llua5.1から-lluaに変更して、再度makeを実行したところmake完了!

前に一度インストールしたソフトウェアなのに、面倒なことになりましたね。
これで起動して終わりといいたいところだったんですが、ポートをデフォルトのまま使うとFlashMediaServerとかち合ってしまうので修正しました。

cumulus/CumulusServer/にCumulusServer.iniというファイルをつくって
port記述等を適当にいれて全部完了。

これで、sakuraのvpsにオープンソースなrtmfpサーバーのcumulusが入りました。

0 件のコメント:

コメントを投稿