ubuntuでapt-getしたphp5にpecl/mailparseを入れようとしたらエラーが出た
$>sudo pear install pecl/mailparse phpizeとかconfigureのあとにmakeでエラー
エラーがでたmbfl_no_encoding_qprint など mbfl関連のエラー。mbstringがない?そんなわけはない。phpinfo()をよく見てると、./confifureでenable mbstring がない?でも動く。組み込まれてるからか。
というか、自分でビルドしていないのでmbfl関係のパッケージがなくてあたりまえ?
手っ取り早い解決は、PHPビルドしなおし。
でもmakeはconfigure設定をaptのパッケージとそろえるのが面倒。
pecl/mailparseを自分でビルドすることに。
ディレクトリ構造はFedraのパッケージを参照。
php-pecl-mailparse-debuginfo-2.1.1-1.fc3 RPM for x86_64
ふむふむ。RPMはこうやってたのか
Files /usr/lib/debug/usr/lib64/php4/mailparse.so.debug /usr/src/debug/mailparse-2.1.1 /usr/src/debug/mailparse-2.1.1/ext /usr/src/debug/mailparse-2.1.1/ext/mbstring /usr/src/debug/mailparse-2.1.1/ext/mbstring/libmbfl /usr/src/debug/mailparse-2.1.1/ext/mbstring/libmbfl/mbfl /usr/src/debug/mailparse-2.1.1/ext/mbstring/libmbfl/mbfl/mbfl_convert.h /usr/src/debug/mailparse-2.1.1/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h /usr/src/debug/mailparse-2.1.1/mailparse.c /usr/src/debug/mailparse-2.1.1/php_mailparse.h /usr/src/debug/mailparse-2.1.1/php_mailparse_mime.c /usr/src/debug/mailparse-2.1.1/php_mailparse_mime.h /usr/src/debug/mailparse-2.1.1/php_mailparse_rfc822.h
mbfl関係のソースは、php本体のソースにほしいものがあることを確認
$> ls php-5.2.0/ext/mbstring/ CREDITS config.m4 mb_gpc.h oniguruma php_unicode.h README config.w32 mbstring.c php_mbregex.c tests README.libmbfl libmbfl mbstring.dsp php_mbregex.h unicode_data.h README_PHP3-i18n-ja mb_gpc.c mbstring.h php_unicode.c
これらのmbstringのソースを使えばmakeできそうだ。php本体のソースからmailparseのソースに突っ込む。参照してもいいけど突っ込むほうが楽かも。
$>ls php-5.2.0/ext/mbstring/ $>mkdir ./mailparse-2.1.1/ext/ $>cp ./php-5.2.0/ext/mbstring ./mailparse-2.1.1/ext/ -R $>cd mailparse-2.1.1 $>phphize $>./configure $>make $>sudo make install
これでビルドは通った。
ちゃんと動くかな?wkwk