Bug #14618 Updated: Undefined Symbol: ldap_parse_reference

From: 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

« previous php.dev (#74866) next »