|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #76433 Build failure with macOS libldap.dylib
Submitted: 2018-06-08 22:50 UTC Modified: 2018-06-11 07:39 UTC
Avg. Score:4.0 ± 1.0
Reproduced:2 of 2 (100.0%)
Same Version:1 (50.0%)
Same OS:2 (100.0%)
From: kevin dot abel dot 0 at gmail dot com Assigned: mcmic (profile)
Status: Assigned Package: LDAP related
PHP Version: 7.3.0alpha1 OS: macOS
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2018-06-08 22:50 UTC] kevin dot abel dot 0 at gmail dot com
Trying to build PHP 7.3.0alpha1 on macOS 10.13 with the ldap extension results in failure during linking. The macOS library for ldap (/usr/lib/libldap.dylib) does not contain some of the new symbols used in the 7.3 ldap changes.

Test script:
Output from configure script run is available at

Output from the make process is available at

Expected result:
Build success or configure failure

Actual result:
Configure success, build failure at link.

make: *** [sapi/cli/php] Error 1
Undefined symbols for architecture x86_64:
  "_ldap_create_passwordpolicy_control", referenced from:
      _zif_ldap_exop_passwd in ldap.o
  "_ldap_create_sort_control_value", referenced from:
      __php_ldap_controls_from_array in ldap.o
  "_ldap_create_vlv_control_value", referenced from:
      __php_ldap_controls_from_array in ldap.o
  "_ldap_parse_passwordpolicy_control", referenced from:
      __php_ldap_controls_to_array in ldap.o
ld: symbol(s) not found for architecture x86_64


macos-ldap (last revision 2018-06-11 17:57 UTC by kevin dot abel dot 0 at gmail dot com)

Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2018-06-09 13:51 UTC]
-Assigned To: +Assigned To: mcmic
 [2018-06-09 13:51 UTC]
Côme, could you please have a look at this issue?
 [2018-06-11 07:39 UTC]
First, the documentation says OpenLDAP 2.4 or newer is needed:

There was a discussion and a patch to make it build with solaris LDAP but it was for PHP 5.6 IIRC, not sure it’s still building:

Which changes would be needed to make it build with libldap.dylib?
 [2018-06-11 18:01 UTC] 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.
 [2018-07-24 11:06 UTC] php dot mac75 at yahoo dot com
Sorry to intervene but is using openldap from homebrew an option/alternative ?
 [2018-07-25 08:47 UTC] jan dot a dot viljanen at gmail dot com
It is but currently 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-11-01 08:06 UTC]
Might that be connected to
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 02:01:25 2019 UTC