ID:               42490
 User updated by:  jerry at scene-naturally dot dyndns dot org
 Reported By:      jerry at scene-naturally dot dyndns dot org
 Status:           Open
 Bug Type:         Compile Failure
 Operating System: OS X 10.4.10
 PHP Version:      5.2.4
 New Comment:

I have found a partial workaround, but it is very kludgy at best:


1) Turn off named. Turn off Postfix (master) and any other apps that 
are using the bind libraries. Just to be sure nothing odd happens, 
turn off the IMAP/POP servers and any of the second level apps that 
use those first level apps. Note: since these are usually started as 
LaunchDaemons or StartUpItems, you will need to disable them from re-
starting.

2) Move the libbind.a and libbind9.a libraries out of /usr/local/lib 
to the desktop (or somewhere that is not in the search path of the 
Configure app).

3) Restart the machine. This is necessary.

4) Configure, make and install the new PHP. Take care of any post 
install stuff you need to do.

5) Undo step number 2. Undo step number 1. Restart the machine.


Previous Comments:
------------------------------------------------------------------------

[2007-08-31 21:06:47] jerry at scene-naturally dot dyndns dot org

The same compile failure as noted in the previous comments about 
5.2.4RC3 is also true in the final 5.2.4.

The release will not compile, failing with the error:

/usr/bin/ld: Undefined symbols:
_res_nclose
_res_ninit
_res_nmkquery
_res_nsend
collect2: ld returned 1 exit status
make: *** [libs/libphp5.bundle] Error 1

but does find the necessary symbols when the Configure app is checking

things over:

checking if your OS can spawn processes with inherited handles... yes
checking for res_nmkquery... no
checking for __res_nmkquery... no
checking for res_nmkquery in -lresolv... no
checking for __res_nmkquery in -lresolv... no
checking for res_nmkquery in -lbind... no
checking for __res_nmkquery in -lbind... yes
checking for res_nsend... no
checking for __res_nsend... yes
checking for dn_expand... yes

Note: the library libbind.a does have the symbols.

------------------------------------------------------------------------

[2007-08-31 15:28:13] jerry at scene-naturally dot dyndns dot org

OS X does come with BIND (and it is almost ready to go out of the box)

but it has a different set up. The libraries are

/usr/lib/libresolv.9.dylib
/usr/lib/libresolv.dylib

The header file is

/usr/include/resolv.h


Note: The Developer Tools which you install to have compilers, etc 
also has the resolv.h file.



The only libbind*.* libraries I have are from the BIND 9 installation.


Linking the older header file to the new file does not fix things.

------------------------------------------------------------------------

[2007-08-31 07:05:29] [EMAIL PROTECTED]

You must have old libbind.* somewhere in your system which gets picked
instead of the new one. Didn't you uninstall the old one before you
installed the new one, apparently with different install prefix..?

------------------------------------------------------------------------

[2007-08-30 21:22:20] jerry at scene-naturally dot dyndns dot org

The libraries installed by BIND 9 are

libbind9.a
libbind.a

These are in /usr/local/lib

libbind.a does seem to have the symbols, however, libbind9.a does not 
have these missing symbols.

The path /usr/local/lib IS in LD_LIBRARY_PATH


The configure app is finding either the library or the header file, 
but apparently not completely following though on that; the screen 
echo:

checking if your OS can spawn processes with inherited handles... yes
checking for res_nmkquery... no
checking for __res_nmkquery... no
checking for res_nmkquery in -lresolv... no
checking for __res_nmkquery in -lresolv... no
checking for res_nmkquery in -lbind... no
checking for __res_nmkquery in -lbind... yes
checking for res_nsend... no
checking for __res_nsend... yes
checking for dn_expand... yes

This is in the configure.log as well.


A small part of libbind.a:

------------------------------------------------------------------------

[2007-08-30 20:21:16] [EMAIL PROTECTED]

Where is the library located containing those symbols (can't remember
what it was called :) and is the path to that library in
LD_LIBRARY_PATH?

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/42490

-- 
Edit this bug report at http://bugs.php.net/?id=42490&edit=1

Reply via email to