由于某些原因,PHP 5.2.3似乎不想在Mac OS X上配置GD支持。 配置时,您可能会注意到此错误:
configure: error: GD build test failed. Please check the config.log for details.
检查config.log会产生以下结果:
configure:42434: gcc -o conftest -g -O2 -no-cpp-precomp -L/usr/local/lib -L/usr/local/lib conftest.c -L -lfreetype -lpng -lz -ljpeg -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm 1>&5
/usr/bin/ld: -L: directory name missing
collect2: ld returned 1 exit status
注意上面字符串中的“ -L”。
一种简单的解决方案是删除该错误的“ -L”,因为它不执行任何操作(除了使configure脚本崩溃之外)。 但是在哪呢?
在configure脚本的42434行上看起来并不太有用...。
if { (eval echo configure:42434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
看起来问题出在$ ac_link,它在第2152行中定义:
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
由于在ld参数中的'conftest.c'之后出现'-L',因此我们知道问题一定在$ LIBS中。
但是$ LIBS在哪里定义?
从42434行向后移动,我们在42415行遇到以下定义:
LIBS=" -L$GD_LIB $GD_SHARED_LIBADD $LIBS"
如果要回显$ GD_LIB,则会得到一个空字符串。
答对了!
只需删除字符串的那一部分:
LIBS=" $GD_SHARED_LIBADD $LIBS"
然后删除config.cache并重新配置,这真是太棒了!
From: https://bytes.com/topic/php/insights/670263-configuring-php-5-2-3-gd-support-mac-os-x