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

From: Date: Tue, 24 Jul 2018 11:06:05 +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-216432@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:         php dot mac75 at yahoo 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:

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


Previous Comments:
------------------------------------------------------------------------
[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.

------------------------------------------------------------------------
[2018-06-11 07:39:22] mcmic@php.net

First, the documentation says OpenLDAP 2.4 or newer is needed: https://secure.php.net/manual/en/ldap.requirements.php

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: https://php.markmail.org/thread/mke5rclimfzvtaza#query:+page:1+mid:22llnz6vwjpl6sl5+state:results

Which changes would be needed to make it build with libldap.dylib?

------------------------------------------------------------------------
[2018-06-09 13:51:45] cmb@php.net

Côme, could you please have a look at this issue?

------------------------------------------------------------------------
[2018-06-08 22:50:33] kevin dot abel dot 0 at gmail dot com

Description:
------------
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 https://gist.github.com/kabel/28ffd286da24d39ad7a6062d7cf27564#file-01-configure

Output from the make process is available at https://gist.github.com/kabel/28ffd286da24d39ad7a6062d7cf27564#file-02-make

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


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



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


Thread (10 messages)

« previous php.bugs (#216432) next »