Connecting Tech Pros Worldwide Help | Site Map
Reply
 
LinkBack Thread Tools Search this Thread
  #1  
Old June 28th, 2007, 10:00 PM
pbmods's Avatar
Site Moderator
 
Join Date: Apr 2007
Location: Texas
Age: 25
Posts: 5,435
Default Configuring PHP 5.2.3 with GD support for Mac OS X

Configuring PHP 5.2.3 with GD support for Mac OS X

PHP 5.2.3 does not seem to want to configure with GD support on Mac OS X for some reason. When configuring, you may notice this error:

Expand|Select|Wrap|Line Numbers
  1. configure: error: GD build test failed. Please check the config.log for details.
Checking config.log yields the following:
Expand|Select|Wrap|Line Numbers
  1. 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
  2. /usr/bin/ld: -L: directory name missing
  3. collect2: ld returned 1 exit status
  4.  
Notice the '-L ' in the string above.

The easy solution is to remove that errant '-L', since it doesn't do anything (except crash the configure script, that is). But where is it?

Looking on line 42434 of the configure script doesn't look too helpful....
Expand|Select|Wrap|Line Numbers
  1. if { (eval echo configure:42434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  2. then
  3.  
Looks like the problem is in $ac_link, which is defined on line 2152:
Expand|Select|Wrap|Line Numbers
  1. ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  2.  
Since the '-L ' showed up after 'conftest.c' in the ld arguments, we know the problem must be in $LIBS.

But where is $LIBS defined?

Moving backwards from line 42434, we encounter this definition on line 42415:
Expand|Select|Wrap|Line Numbers
  1.   LIBS=" -L$GD_LIB $GD_SHARED_LIBADD  $LIBS"
  2.  
If you were to echo $GD_LIB, you'd get an empty string. Bingo!

Simply remove that part of the string:
Expand|Select|Wrap|Line Numbers
  1.   LIBS=" $GD_SHARED_LIBADD  $LIBS"
  2.  
Then delete config.cache and reconfigure, and you're golden!
Reply



  #2  
Old July 10th, 2007, 02:08 PM
Motoma's Avatar
Moderator
 
Join Date: Jan 2007
Location: Maine, USA
Age: 25
Posts: 2,898
Default

I think it's appalling that $GD_LIB, $GD_SHARED_LIBADD, and $LIBS are all empty, another alternative to the one you proposed would be to hunt down the appropriate locations and set them properly when you call your configure or make command.
Reply
  #3  
Old July 16th, 2007, 06:37 PM
Newbie
 
Join Date: Jul 2007
Posts: 1
Default

Dude, I owe you a beer or three.
Reply
  #4  
Old July 17th, 2007, 08:36 PM
pbmods's Avatar
Site Moderator
 
Join Date: Apr 2007
Location: Texas
Age: 25
Posts: 5,435
Default

Quote:
Originally Posted by Motoma
I think it's appalling that $GD_LIB, $GD_SHARED_LIBADD, and $LIBS are all empty, another alternative to the one you proposed would be to hunt down the appropriate locations and set them properly when you call your configure or make command.
Since PHP uses a bundled version of GD, there really aren't any additional library locations to search.
Reply
  #5  
Old August 13th, 2007, 03:28 PM
Newbie
 
Join Date: Aug 2007
Posts: 1
Default

You're a lifesaver; the fix works like a charm.
Reply
  #6  
Old October 2nd, 2007, 10:37 AM
coolgames's Avatar
Familiar Sight
 
Join Date: Oct 2007
Location: Earth
Age: 16
Posts: 165
Default

wow !

i;ve been wondering....
thankyou.
Reply
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,662 network members.