php_mecab-0.3.0.tgzのコンパイルが通りません

http://d.hatena.ne.jp/rsky/20071228/1198841049
PHP5.2.9からPHP5.3.0へアップデート後の症状なので
PHP絡みで原因がありそうです.
原因やコンパイルを通す方法が分かりません,よろしくお願いします。

cc -I. -I/usr/local/src/php_mecab-0.3.0 -DPHP_ATOM_INC -I/usr/local/src/php_mecab-0.3.0/include -I/usr/local/src/php_mecab-0.3.0/main -I/usr/local/src/php_mecab-0.3.0 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/local/src/php_mecab-0.3.0/mecab.c -fPIC -DPIC -o .libs/mecab.o
/usr/local/src/php_mecab-0.3.0/mecab.c:335: error: duplicate 'static'

/usr/local/src/php_mecab-0.3.0/mecab.c: In function 'php_mecab_node_list_method':
/usr/local/src/php_mecab-0.3.0/mecab.c:1546: warning: 'php_set_error_handling' is deprecated (declared at /usr/include/php/main/php.h:293)

make: *** [mecab.lo] エラー 1

環境
centos5.2
PHP5.3.0
php_mecab-0.3.0
mecab 0.97

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/09/12 22:22:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:chrono1742 No.1

回答回数91ベストアンサー獲得回数13

ポイント60pt

なぜphpizeを使わないのでしょうか?

(参考)http://www.saba-kan.net/blog/2009/04/php_mecab%E3%81%AE%E3%82%A4...

id:hisugawa

phpize使っていますが何か問題でも?

make clean

phpize

./configure --with-php-config=`which php-config` --with-mecab=`which mecab-config`

make

参考URLは5.3.0リリース前の情報ですので参考になりませんでした。

2009/09/08 11:29:49
  • id:hisugawa
    一応解決しました
    mecab.c
    1、
    #define PM_BEGIN_ARG_INFO(name, pass_rest_by_reference) \
    static ZEND_BEGIN_ARG_INFO(arginfo_ ## name, pass_rest_by_reference)
    #define PM_BEGIN_ARG_INFO_EX(name, pass_rest_by_reference, return_reference, required_num_args) \
    static ZEND_BEGIN_ARG_INFO_EX(arginfo_ ## name, pass_rest_by_reference, return_reference, required_num_args)

    #if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION > 2) || PHP_MAJOR_VERSION > 5
    # define MOGILEFS_ARG_INFO
    #else
    # define MOGILEFS_ARG_INFO static
    #endif
    #define PM_BEGIN_ARG_INFO(name, pass_rest_by_reference) \
    MOGILEFS_ARG_INFO ZEND_BEGIN_ARG_INFO(arginfo_ ## name, pass_rest_by_reference)
    #define PM_BEGIN_ARG_INFO_EX(name, pass_rest_by_reference, return_reference, required_num_args) \
    MOGILEFS_ARG_INFO ZEND_BEGIN_ARG_INFO_EX(arginfo_ ## name, pass_rest_by_reference, return_reference, required_num_args)

    2、
    http://cvs.php.net/viewvc.cgi/pecl/oauth/oauth.c?r1=1.16&r2=1.17
    を参考に
    php_set_error_handling及びphp_std_error_handling関数をコメントアウト

    でコンパイルを通すことができました
    但し当方C言語は知らないので引き続きこの修正で正しいのかを含めて案を募集します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません