Bug #76433 [Com]: Build failure with macOS libldap.dylib

From: Date: Fri, 26 Apr 2019 13:03:58 +0000
Subject: Bug #76433 [Com]: Build failure with macOS libldap.dylib
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-220620@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76433&edit=1

 ID:                 76433
 Comment by:         ronyan at outlook dot com
 Reported by:        kevin dot abel dot 0 at gmail dot com
 Summary:            Build failure with macOS libldap.dylib
 Status:             Assigned
 Type:               Bug
 Package:            LDAP related
 Operating System:   macOS
 PHP Version:        7.3.0alpha1
 Assigned To:        mcmic
 Block user comment: N
 Private report:     N

 New Comment:

Hello,

The patch macos-ldap (last revision 2018-06-11 17:57 UTC by kevin dot abel dot 0 at gmail dot com)
do not work with :
System Version: OS X 10.11.6
Kernel Version: Darwin 15.6.0

php-7.3.4.tar.gz
httpd-2.4.39.tar.gz
OpenLDAP: ldapmodify 2.4.28 (Oct  3 2015 17:40:55)


Error:
Undefined symbols for architecture x86_64:
  "_ldap_create_sort_control_value", referenced from:
      __php_ldap_control_from_array in ldap.o
  "_ldap_create_vlv_control_value", referenced from:
      __php_ldap_control_from_array in ldap.o
ld: symbol(s) not found for architecture x86_64


It's seems only solves the issue about "_ldap_create_passwordpolicy_control" and
"ldap_parse_passwordpolicy_control" symbols.


Previous Comments:
------------------------------------------------------------------------
[2019-04-25 20:34:28] ronyan at outlook dot com

The suggestion:
"LDAP_F( int )
ldap_parse_passwordpolicy_control LDAP_P((
        LDAP *ld,
        LDAPControl *ctrl,
        ber_int_t *expirep,
        ber_int_t *gracep,
        LDAPPasswordPolicyError *errorp )) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_0,
__MAC_10_11, __IPHONE_NA, __IPHONE_NA, "use OpenDirectory Framework");
"

Do not work with 
System Version: OS X 10.11.6
Kernel Version: Darwin 15.6.0

Applied in files below, but without success:


/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdks/MacOSX.sdk/usr/include/ldap.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ldap.h
/usr/include/ldap.h
/usr/local/Cellar/openldap/2.4.47/include/ldap.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ldap.h

openLdap version: 
$OpenLDAP: ldapmodify 2.4.28 (Oct  3 2015 17:40:55)

------------------------------------------------------------------------
[2018-11-01 08:06:28] heiglandreas@php.net

Might that be connected to https://bugs.php.net/bug.php?id=77005?

------------------------------------------------------------------------
[2018-07-25 08:47:51] jan dot a dot viljanen at gmail dot com

It is but currently https://bugs.php.net/bug.php?id=76403 is blocking
the project from doing just that. Can also add that if you look in the ldap.h header file macOS
provides it states

LDAP_F( int )
ldap_parse_passwordpolicy_control LDAP_P((
        LDAP *ld,
        LDAPControl *ctrl,
        ber_int_t *expirep,
        ber_int_t *gracep,
        LDAPPasswordPolicyError *errorp )) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_0,
__MAC_10_11, __IPHONE_NA, __IPHONE_NA, "use OpenDirectory Framework");

so it looks like they are trying to get people to not use openldap.

------------------------------------------------------------------------
[2018-07-24 11:06:05] php dot mac75 at yahoo dot com

Sorry to intervene but is using openldap from homebrew an option/alternative ?

------------------------------------------------------------------------
[2018-06-11 18:01:31] kevin dot abel dot 0 at gmail dot com

libldap on macOS is a fork of OpenLDAP, claiming to be 2.4.28, although there are clearly some
pieces of the API that have been taken out or disabled. I added a patch to the bug that just adds
some configure checks to these functions and add guards around them in the source. It may not be the
best solution, but I was at least able to fully compile with it.

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


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

    https://bugs.php.net/bug.php?id=76433


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


Thread (10 messages)

« previous php.bugs (#220620) next »