cabocha-0.53 が fedora 9 (gcc 4.3) で make できない、そんなとき

fedora 9 で yamcha と cabocha を使いたい、そう思って、make してみました。

エラーが出ます。

param.cpp:205: error: 'strlen' was not declared in this scope
param.cpp:211: error: 'strlen' was not declared in this scope

ちょっと気が遠くなりかけた。そんなとき。

つまるところ、gcc 4.2 以前と gcc 4.3 の違いに起因するようです。

gcc 4.2 以前では、string.h や stdlib.h のようなヘッダファイルは明示的にインクルードしていなくても、そのヘッダファイルでプロトタイプ宣言されている関数を呼び出すことができました。

gcc 4.3 では明示的なインクルードが必要です。

とりあえず、 src/common.h に #include <string.h> を追加して make してみます。

できました!パッチはこちら

適用例

wget http://chasen.org/~taku/software/cabocha/src/cabocha-0.53.tar.gz
tar zxvf cabocha-0.53.tar.gz
patch -p0 < cabocha.patch
cd cabocha-0.53
./configure --prefix=/usr/local
make
make check
make install
cd ..
rm -rf cabocha-0.53

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>