川です。 Date :Sun, 10 Oct 2004 22:13:00 +0900 From :FUKUHARA Makoto <makoto@xxxxxxxxxxxxxxxxxx> Subject :[vine-users:068215] Re: iplogのインストール ID :4169355C.5020509@xxxxxxxxxxxxxxxxxx > 福原です. ... > make の失敗は,次のメッセージでしょうか. > > gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/pcap -g -O2 -D_REENTRANT -c iplog_options.c > iplog_options.c:443:19: " 文字での終端を欠いています > iplog_options.c: 関数 `print_help' 内: > iplog_options.c:444: error: wrong type argument to decrement > iplog_options.c:444: error: 文法エラー before "user" > iplog_options.c:478:59: ' 文字での終端を欠いています > iplog_options.c:478:59: 警告: character constant too long for its type > iplog_options.c:493:65: " 文字での終端を欠いています > make[3]: *** [iplog_options.o] エラー 1 そうですね。gcc-3.4.2 では次のようになります。 ----- gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/pcap -g -O2 -D_REENTRANT -c iplog_options.c iplog_options.c: In function `print_help':" 文字での終端を欠いています iplog_options.c:444: error: wrong type argument to decrement iplog_options.c:444: error: 構文解析エラー が "user" の前にあります ' 文字での終端を欠いています " 文字での終端を欠いています make[3]: *** [iplog_options.o] エラー 1 ----- 微妙に違うのがナニですが。 > Vine 3.0 では,次のパッチを当てればコンパイルできます. > > http://de.lunar-linux.org/lunar/patches/iplog-2.2.3-gcc3.3.patch > > 文字列の改行の扱いが変わった(複数行にわたる文字列を使えなくなった)みたいですね. 情報ありがとうございます。まだ Vine3.0 に移行していないので、移行した らパッチを当ててみます。gcc-3.0 になったときだか、gcc-3.? で c++ の ABI がガラリと変ったときだか忘れましたが、上記のようなことが書いてあり ました。gcc2 のコンパイラ拡張がバッサリ削られたとうすらボンヤリ覚えて います。 実はこういう事例はすごく多いんですよね。ddd-3.3.8 だったかが gcc-3.3.? でコンパイルできるけれど gcc-3.4.0 でコンパイルできない…、と思ってい たら、いきなり ddd-3.3.9 が出てコンパイルできるようになったりとか。日 常茶飯事です。で、コンパイラの変更でいつもごまかしています。 gcc3.0 がでた頃からメインで最新の gcc を使っていたので iplog はコンパ イラの変更でバイナリを作っていました。というわけで、最初の情報を投げて みた訳です。 次の春から gcc4 ですね。 # 今の環境は、Vine2.6r4 で # # [hoge]$ uname -r # 2.4.26-0vl1.1 # # となっていますが実はこれ、ちょっと前の Seed から持ってきて gcc3 で # コンパイル出来なかったので、gcc2 で作った代物だったりします。 -- KAWA