Bug #14618 Updated: Undefined Symbol: ldap_parse_reference
| From: | kv at netuse dot de | Date: | Sun, 23 Dec 2001 15:00:56 +0000 |
| Subject: | Bug #14618 Updated: Undefined Symbol: ldap_parse_reference | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-74866@lists.php.net to get a copy of this message | ||
ID: 14618
User updated by: kv@netuse.de
Reported By: kv@netuse.de
Old Status: Feedback
Status: Open
Bug Type: LDAP related
Operating System: Solaris 2.8
PHP Version: 4.1.0
Old Assigned To: venaas
Assigned To:
New Comment:
/usr/include/ldap.h contains on Solaris 8
#define LDAP_VENDOR_NAME "Sun Microsystems Inc."
#define LDAP_VENDOR_VERSION 400
In Solaris 9, LDAP_VENDOR_VERSION is defined as 500.
So this can be used to identify the correct version.
After replacing the ldap_parse_reference() call in
ext/ldap/ldap.c with RETURN_FALSE, PHP compiled. That
means that all other functions are present.
We have filed that problem to Sun as well.
Previous Comments:
------------------------------------------------------------------------
[2001-12-23 09:09:47] venaas@php.net
Yes, this is certainly a SUN bug. LDAP_API_VERSION 2004
should mean version 4 of the draft-ietf-ldapext-ldap-c-api
draft, and it includes ldap_parse_reference(). I have a
couple of questions for you. What are LDAP_VENDOR_NAME and
LDAP_VENDOR_VERSION defined as? Are there other macros you
think could be used to detect that we are using the Solaris
8 lib? Could you try to check what else is missing? Is
ldap_parse_reference() really the only one?
------------------------------------------------------------------------
[2001-12-20 05:54:38] kv@netuse.de
This is the same problem as in Bug #11873
Configure options: --enable-force-cgi-redirect --enable-trans-sid --enable-memory-limit --with-ldap
Operating system: SunOS myHost 5.8 Generic_108528-12 sun4u sparc SUNW,Ultra-250
The original Solaris LDAP library is used, no other library is installed.
-rwxr-xr-x 1 root bin 224200 Jan 5 2000 /usr/lib/libldap.so.4*
There is no ldap_parse_reference() in this library. (Solaris 9 comes with libldap.so.5 including
ldap_parse_reference() ).
LDAP_API_VERSION is defined as 2004 (2005 on Solaris 9) in /usr/include/ldap.h
HAVE_NSLDAP is not defined in main/config_php.h
I looked for references on the web about what API function has to be present in the different API
versions. It's definitely possible that Sun wrongly labeled their library in Solaris 8 with
2004 but didn't supply the needed ldap_parse_reference() method.
But it would be useful to make PHP ignore that problem and undefine ldap_parse_reference() on
Solaris 8 or at least check for its existance during configure.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=14618&edit=1