使用Mac OS X的GD支持配置PHP 5.2.3

袁泰平
2023-12-01

使用Mac OS X的GD支持配置PHP 5.2.3

由于某些原因,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

 类似资料: