FreeBSD/undefined reference to `png_check_sig の変更点
*PHP4系インストールでエラー「undefined reference to `png_check_sig 」 [#j297b855]
PHP 4.4.9を普通にインストールしようとしたら
configureは通るのに・・・・
makeするとエラーが・・・
ext/gd/libgd/gd_png.lo(.text+0x10a): In function `gdImageCreateFromPngCtx':
/usr/local/src/php-4.4.9/ext/gd/libgd/gd_png.c:139: undefined reference to `png_check_sig'
はじめは全然分からなかった。
なんと原因は、新しいlibpng(v1.4.0)でpng.h から png_check_sig() が削除されたのが原因
最近 PHP5系しか入れてなかったから、全然気づかんかった。^^;
**対処 [#hf05ca19]
fetch -o libpng-1.2.43.tar.gz http://downloads.sourceforge.net/project/libpng/03-libpng-previous/1.2.43/libpng-1.2.43.tar.gz?use_=jaist=
libpng-1.2.43.tar.gzを落としてきて、インストールしたらちゃんとmake通りました。
**ついでにext/mysql/libmysql/my_tempnam.lo(.text+0x35): In function `my_tempnam' [#qc7cf260]
こんなエラーも出ましたが、MySQLを使わない(--width-mysqlなし)の場合出るWarningで、問題無くコンパイル出来てます。
ext/mysql/libmysql/my_tempnam.lo(.text+0x35): In function `my_tempnam':
/usr/local/src/php-4.4.9/ext/mysql/libmysql/my_tempnam.c:115: warning: warning: tempnam() possibly used unsafely; consider using mkstemp()