いつもなら問題なくコンパイルできる DeleGate だが,最新の 8.11.0 では失敗してしまう。gcc のバージョンが古いのが原因だそうで,8.11.1-pre1 以降で対応してくれている。gcc 2.95 は古かったのか…。
Vine Linux 2.6 の gcc のバージョンは 2.95 である。
Vine Linux の最新版は 3.1 で,これに同梱されているのは gcc 3.3.2 である(Past news from Project Vine)。GCC - Linux Wiki のウォッチリストによれば,2.95.3 のリリースは 2001-03-16 で,このバージョンを最後 2.x 系の開発は終了。gcc はメジャーバージョンアップされて現在は 2004-11-07 リリースの 3.4.3 となっている。
バージョンに左右されるようなコードを書いたことがないので,全然知らなかった。みんなよくやるなあ…。
さて,Vine Linux 2.6 の gcc-2.95.3 でコンパイルすると,delegate-8.11.0 は次のエラーでコンパイルに失敗する。このコンパイルエラーは FreeBSD 4.10 でも同様に起こるらしい。
以下は DeleGate のメーリングリストのアーカイブ DeleGate-ML を参考にしたメモである。
ひっかかっているのは,include/ystring.h で,コンパイラが古いと指摘されている。問題の箇所とその修正は次のようになっている(http://www.delegate.org/mail-lists/delegate/12724)。
そろそろ古いコンパイラには対応したくないそうなので(http://www.delegate.org/mail-lists/delegate/12722),今後古いコンパイラを使わなければならない場合に気をつけておいた方がいいかも知れない。このエラーに対し,delegate8.11.1-pre3 では対応してくれていて,問題なくコンパイルできる。
DeleGate 経由で NetNews を読む場合,プロバイダによってはニュースサーバに問題があるため DeleGate のソースに手を入れる必要がある。So-net では junk と control ニュースグループの反応がないので,DeleGate が処理を進めることができないのである(nlog(n): DeleGate 8.9.2 + 個人的な修正)。
DeleGate 8.11.0 では nntp.c の書き換えが行われているため,該当する箇所の行数が変わっている。2086行目付近をコメントアウトすることになる。
Master Archive Index
Total Entry Count: 1957