Fix busted test for ldap_initialize.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 10 Jul 2021 17:19:30 +0000 (13:19 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 10 Jul 2021 17:19:30 +0000 (13:19 -0400)
Sigh ... I was expecting AC_CHECK_LIB to do something it didn't,
namely update LIBS.  This led to not finding ldap_initialize.
Fix by moving the probe for ldap_initialize.  In some sense this
is more correct anyway, since (at least for now) we care about
whether ldap_initialize exists in libldap not libldap_r.

Per buildfarm member elver and local testing.

Discussion: https://postgr.es/m/17083-a19190d9591946a7@postgresql.org

configure
configure.ac

index 4ef1d3a73d64d849bfb1e711152b96c7e65f768c..9f0018b3906f51c58ab9c526c4d6b2e3802912de 100755 (executable)
--- a/configure
+++ b/configure
@@ -12929,6 +12929,18 @@ else
 fi
 
     LDAP_LIBS_BE="-lldap $EXTRA_LDAP_LIBS"
+    # This test is carried out against libldap.
+    for ac_func in ldap_initialize
+do :
+  ac_fn_c_check_func "$LINENO" "ldap_initialize" "ac_cv_func_ldap_initialize"
+if test "x$ac_cv_func_ldap_initialize" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LDAP_INITIALIZE 1
+_ACEOF
+
+fi
+done
+
     if test "$enable_thread_safety" = yes; then
       # Use ldap_r for FE if available, else assume ldap is thread-safe.
       # On some platforms ldap_r fails to link without PTHREAD_LIBS.
     else
       LDAP_LIBS_FE="-lldap $EXTRA_LDAP_LIBS"
     fi
-    for ac_func in ldap_initialize
-do :
-  ac_fn_c_check_func "$LINENO" "ldap_initialize" "ac_cv_func_ldap_initialize"
-if test "x$ac_cv_func_ldap_initialize" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LDAP_INITIALIZE 1
-_ACEOF
-
-fi
-done
-
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_bind in -lwldap32" >&5
 $as_echo_n "checking for ldap_bind in -lwldap32... " >&6; }
index 5f217c01e381061e10561182f8113c985aee1b38..cfe0a6acc211539e522e8e942d40cd06eb949e8d 100644 (file)
@@ -1294,6 +1294,8 @@ if test "$with_ldap" = yes ; then
                 [AC_MSG_ERROR([library 'ldap' is required for LDAP])],
                 [$EXTRA_LDAP_LIBS])
     LDAP_LIBS_BE="-lldap $EXTRA_LDAP_LIBS"
+    # This test is carried out against libldap.
+    AC_CHECK_FUNCS([ldap_initialize])
     if test "$enable_thread_safety" = yes; then
       # Use ldap_r for FE if available, else assume ldap is thread-safe.
       # On some platforms ldap_r fails to link without PTHREAD_LIBS.
@@ -1305,7 +1307,6 @@ if test "$with_ldap" = yes ; then
     else
       LDAP_LIBS_FE="-lldap $EXTRA_LDAP_LIBS"
     fi
-    AC_CHECK_FUNCS([ldap_initialize])
   else
     AC_CHECK_LIB(wldap32, ldap_bind, [], [AC_MSG_ERROR([library 'wldap32' is required for LDAP])])
     LDAP_LIBS_FE="-lwldap32"