ircd導入メモ。
OSはFedora8。
とりあえずソース落としてこんふぃぎゃー。
$ wget http://www.ircnet.jp/dist/server/jp-patch/irc2.10.3p7+jp6.tgz
$ tar zxvf irc2.10.3p7+jp6.tgz
$ cd irc2.10.3p7+jp6/
$ ./configure
ビルド。
$ cd i686-pc-linux-gnu/(; ゚д゚)・・・。
$ make all
../ircd/channel.c: In function 'free_channel':
../ircd/channel.c:2047: error: 代入として無効な左辺値です
make: *** [channel.o] エラー 1
channel.cのソースを追ってみると
MyFree((char *)chptr);の辺りでエラー出てるみたいなので追跡。
sys_def.hに発見。
つまり ((char *)chptr) = NULL; がエラーになってると思われる。
# define MyFree(x) do { if ((x) != NULL) free(x); (x) = NULL; } while(0)
ここだけなら自前で置き換えて修正してやればいいかと思ったけど同じような記述が
沢山あったので諦め。
# yum -y install ircd-hybrid後はほとんどURLの通りにconf書き換えて立ち上げ。
サービス起動のコマンドがある場所がちょっと違ったので以下に。
# /sbin/service ircd start
# /sbin/chkconfig ircd on
# vi /etc/sysconfig iptablesにこの一文を追加。
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 6667 --syn -j ACCEPT意味はよくわかってませんけど、6667番が空きます。
後はなにやらircdをrootで動かすのはよろしくないとか、
実はサーバにパスワードがかかってないらしいとか色々問題が
あるっぽいですが、個人用なので気が向いたら調べますつー感じで。