FreeBSD/undefined reference to `png_check_sig

PHP4系インストールでエラー「undefined reference to `png_check_sig 」

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系しか入れてなかったから、全然気づかんかった。^^;

対処

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'

こんなエラーも出ましたが、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()