[Bug 145501] cmake error on Solaris in kdepimlibs with ldap/lber
Szombathelyi György
gyurco at freemail.hu
Thu May 31 20:41:52 BST 2007
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=145501
------- Additional Comments From gyurco freemail hu 2007-05-31 21:41 -------
SVN commit 670226 by gyurco:
Check for the prototype for ldap_extended_operation[_s], too, since there are
broken client libs, which has the symbol in libldap, but not the protoype in
ldap.h (Solaris 8)
CCBUG: 145501
M +3 -0 CMakeLists.txt
M +2 -0 kldap_config.h.cmake
M +8 -8 ldapoperation.cpp
--- trunk/KDE/kdepimlibs/kldap/CMakeLists.txt #670225:670226
@ -1,5 +1,6 @
project(kldap)
include(CheckFunctionExists)
+include(CheckSymbolExists)
macro_optional_find_package(Ldap)
macro_log_feature(LDAP_FOUND "OpenLDAP" "LDAP (Lightweight Directory Access Protocol) libraries" "http://www.openldap.org" FALSE "" "Needed to provide LDAP functionality in KDE" )
@ -24,6 +25,8 @
check_function_exists(ldap_unbind_ext HAVE_LDAP_UNBIND_EXT)
check_function_exists(ldap_extended_operation HAVE_LDAP_EXTENDED_OPERATION)
check_function_exists(ldap_extended_operation_s HAVE_LDAP_EXTENDED_OPERATION_S)
+check_symbol_exists(ldap_extended_operation ldap.h HAVE_LDAP_EXTENDED_OPERATION_PROTOTYPE)
+check_symbol_exists(ldap_extended_operation_s ldap.h HAVE_LDAP_EXTENDED_OPERATION_S_PROTOTYPE)
endif (LDAP_FOUND)
--- trunk/KDE/kdepimlibs/kldap/kldap_config.h.cmake #670225:670226
@ -7,3 +7,5 @
#cmakedefine HAVE_LDAP_UNBIND_EXT
#cmakedefine HAVE_LDAP_EXTENDED_OPERATION
#cmakedefine HAVE_LDAP_EXTENDED_OPERATION_S
+#cmakedefine HAVE_LDAP_EXTENDED_OPERATION_PROTOTYPE
+#cmakedefine HAVE_LDAP_EXTENDED_OPERATION_S_PROTOTYPE
--- trunk/KDE/kdepimlibs/kldap/ldapoperation.cpp #670225:670226
@ -743,10 +743,7 @
int LdapOperation::exop( const QString &oid, const QByteArray &data )
{
Q_ASSERT( d->mConnection );
-#ifndef HAVE_LDAP_EXTENDED_OPERATION
- kError() << "Your LDAP client libraries don't support extended operations." << endl;
- return -1;
-#else
+#ifdef HAVE_LDAP_EXTENDED_OPERATION && HAVE_LDAP_EXTENDED_OPERATION_PROTOTYPE
LDAP *ld = (LDAP*) d->mConnection->handle();
int msgid;
@ -772,15 +769,15 @
retval = msgid;
}
return retval;
+#else
+ kError() << "Your LDAP client libraries don't support extended operations." << endl;
+ return -1;
#endif
}
int LdapOperation::exop_s( const QString &oid, const QByteArray &data )
{
-#ifndef HAVE_LDAP_EXTENDED_OPERATION_S
- kError() << "Your LDAP client libraries don't support extended operations." << endl;
- return -1;
-#else
+#ifdef HAVE_LDAP_EXTENDED_OPERATION_S && HAVE_LDAP_EXTENDED_OPERATION_S_PROTOTYPE
Q_ASSERT( d->mConnection );
LDAP *ld = (LDAP*) d->mConnection->handle();
BerValue *retdata;
@ -807,6 +804,9 @
ldap_controls_free( clientctrls );
return retval;
+#else
+ kError() << "Your LDAP client libraries don't support extended operations." << endl;
+ return -1;
#endif
}
More information about the Kdepim-bugs
mailing list