ubuntuにpecl OAuthをインストールするとエラーになる

sudo pecl install oauth

として、ubuntu 10.04にpecl OAuthモジュールをインストールしようとするとmakeでエラーが発生する場合があります。

その対処方法です。

エラー内容

エラー内容は下記のような感じ。

/usr/include/php5/ext/pcre/php_pcre.h:37: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/php5/ext/pcre/php_pcre.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/php5/ext/pcre/php_pcre.h:44: error: expected specifier-qualifier-list before ‘pcre’
make: *** [oauth.lo] エラー 1
ERROR: `make’ failed

だいたい必要モジュールが足りていませんので確認してください。

必要モジュール

aptでインストールするもの

  • php-pear
  • php5-dev
  • make
  • libpcre3-dev

忘れがちなものが libpcre3-devです。

これがないとmakeのあたりでエラーが出ます。

コンパイル後php.iniに追加

sudo pecl install oauth

でインストールが完了すると

Build process completed successfully
Installing ‘/usr/lib/php5/20090626+lfs/oauth.so’
install ok: channel://pecl.php.net/oauth-1.2.2
configuration option “php_ini” is not set to php.ini location
You should add “extension=oauth.so” to php.ini

こんなメッセージが出ます。

php.iniに extension=oauth.so を加えApacheを再起動するとOAuthが認識されます。