Hi,
It seems GDLIB_LIBS is overwritten in line 107 of m4/gdlib.m4. This line erases GDLIB_LIBS contains -lgd by AC_CHECK_HEADER([gd.h],[$2],[$3]) in at line 103.
I made a personal patch and confirmed tarballe 0228 and later ones are compiled without error and binaries run.
Modification for GDLIB_CFLAGS and GDLIB_LDFLAGS in the patch might not required but I added it just in case.
I hope this may help.

diff -uNr a/configure b/configure
--- a/configure 2008-02-29 15:01:04.000000000 +0900
+++ b/configure 2008-03-01 08:25:40.000000000 +0900
@@ -6363,9 +6363,9 @@
if test $ac_cv_header_gd_h = yes; then
- GDLIB_CFLAGS=`$GDLIB_CONFIG_WITH_ARGS --cflags`
- GDLIB_LDFLAGS=`$GDLIB_CONFIG_WITH_ARGS --ldflags`
- GDLIB_LIBS=`$GDLIB_CONFIG_WITH_ARGS --libs`
+ GDLIB_CFLAGS="`$GDLIB_CONFIG_WITH_ARGS --cflags` $GDLIB_CFLAGS"
+ GDLIB_LDFLAGS="`$GDLIB_CONFIG_WITH_ARGS --ldflags` $GDLIB_LDFLAGS"
+ GDLIB_LIBS="`$GDLIB_CONFIG_WITH_ARGS --libs` $GDLIB_LIBS"
else
GDLIB_VERSION=
fi
diff -uNr a/m4/gdlib.m4 b/m4/gdlib.m4
--- a/m4/gdlib.m4 2008-02-28 01:53:54.000000000 +0900
+++ b/m4/gdlib.m4 2008-03-01 08:25:15.000000000 +0900
@@ -102,9 +102,9 @@
AC_MSG_RESULT([yes (version $GDLIB_VERSION)])
AC_CHECK_HEADER([gd.h],[$2],[$3])
if test $ac_cv_header_gd_h = yes; then
- GDLIB_CFLAGS=`$GDLIB_CONFIG_WITH_ARGS --cflags`
- GDLIB_LDFLAGS=`$GDLIB_CONFIG_WITH_ARGS --ldflags`
- GDLIB_LIBS=`$GDLIB_CONFIG_WITH_ARGS --libs`
+ GDLIB_CFLAGS="`$GDLIB_CONFIG_WITH_ARGS --cflags` $GDLIB_CFLAGS"
+ GDLIB_LDFLAGS="`$GDLIB_CONFIG_WITH_ARGS --ldflags` $GDLIB_LDFLAGS"
+ GDLIB_LIBS="`$GDLIB_CONFIG_WITH_ARGS --libs` $GDLIB_LIBS"
else
GDLIB_VERSION=
fi