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/07 14:11:45
  • 終了:2009/09/12 22:22:37

回答(1件)

id:chrono1742 No.1

chrono1742回答回数91ベストアンサー獲得回数132009/09/08 07:58:39

ポイント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言語は知らないので引き続きこの修正で正しいのかを含めて案を募集します。

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません