Hello, I've upgraded to yosemite and i was trying to recompile kdepimlibs. However i get this error: [ 58%] Building CXX object kldap/CMakeFiles/kldap.dir/ber.o In file included from /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:38: In file included from /System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: .............. In file included from /System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: /System/Library/Frameworks/LDAP.framework/Headers/lber.h:1:10: error: #include nested too deeply #include <lber.h> ^ In file included from /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:39: In file included from /System/Library/Frameworks/LDAP.framework/Headers/ldap.h:1: In file included from /System/Library/Frameworks/LDAP.framework/Headers/ldap.h:1: In file included from /System/Library/Frameworks/LDAP.framework/Headers/ldap.h:1: /System/Library/Frameworks/LDAP.framework/Headers/ldap.h:1:10: error: #include nested too deeply #include <ldap.h> ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:64:5: error: unknown type name 'BerElement' BerElement *mBer; ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:72:13: error: use of undeclared identifier 'ber_alloc_t' d->mBer = ber_alloc_t( LBER_USE_DER ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:79:17: error: variable has incomplete type 'struct berval' struct berval bv; ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:79:10: note: forward declaration of 'berval' struct berval bv; ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:97:15: error: use of undeclared identifier 'ber_init' d->mBer = ber_init( bv ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:98:5: error: use of undeclared identifier 'ber_bvfree' ber_bvfree( bv ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:110:15: error: use of undeclared identifier 'ber_init' d->mBer = ber_init( bv ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:111:5: error: use of undeclared identifier 'ber_bvfree' ber_bvfree( bv ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:121:25: error: member access into incomplete type 'struct berval' ret = QByteArray( bv->bv_val, bv->bv_len ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:119:10: note: forward declaration of 'berval' struct berval *bv; ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:122:5: error: use of undeclared identifier 'ber_bvfree' ber_bvfree( bv ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:143:11: error: unknown type name 'ber_int_t' ber_int_t v = va_arg( args, int ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:164:25: error: variable has incomplete type 'struct berval' struct berval bv; ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:164:18: note: forward declaration of 'berval' struct berval bv; ^ In file included from /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:27: /usr/local/Cellar/qt/4.8.6/include/QtCore/qvarlengtharray.h:177:51: error: invalid application of 'sizeof' to an incomplete type 'berval' char array[sizeof(qint64) * (((Prealloc * sizeof(T)) / sizeof(qint64)) + 1)]; ^~~~~~~~~ /usr/local/Cellar/qt/4.8.6/include/QtCore/qvarlengtharray.h:175:5: note: in instantiation of member class 'QVarLengthArray<berval, 256>::<anonymous union at /usr/local/Cellar/qt/4.8.6/include/QtCore/qvarlengtharray.h:175:5>' requested here union { ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:201:42: note: in instantiation of template class 'QVarLengthArray<berval, 256>' requested here QVarLengthArray<struct berval> bvs( V->count( ) ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:200:34: note: forward declaration of 'berval' QVarLengthArray<struct berval *> bv ( V->count()+1 ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:262:13: error: use of undeclared identifier 'ber_memfree' ber_memfree( c ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:269:25: error: variable has incomplete type 'struct berval' struct berval bv; ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:269:18: note: forward declaration of 'berval' struct berval bv; ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:283:32: error: member access into incomplete type 'struct berval' *O = QByteArray( bv->bv_val, bv->bv_len ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:280:18: note: forward declaration of 'berval' struct berval *bv; ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:284:13: error: use of undeclared identifier 'ber_bvfree' ber_bvfree( bv ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:295:32: error: member access into incomplete type 'struct berval' *m = QByteArray( bv->bv_val, bv->bv_len ); ^ /tmp/kdepimlibs-eZuLb1/kdepimlibs-4.14.0/kldap/ber.cpp:292:18: note: forward declaration of 'berval' struct berval *bv; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. make[2]: *** [kldap/CMakeFiles/kldap.dir/ber.o] Error 1 make[1]: *** [kldap/CMakeFiles/kldap.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 58%] Building CXX object kabc/tests/CMakeFiles/addresseetest.dir/addresseetest_automoc.o [ 59%] Building CXX object kabc/plugins/net/CMakeFiles/kabc_net.dir/kabc_net_automoc.o Linking CXX shared module ../../../lib/kabc_net.so [ 59%] Built target kabc_net Linking CXX executable addresseetest.app/Contents/MacOS/addresseetest [ 59%] Built target addresseetest make: *** [all] Error 2 How to solve this? thanks
Ok.. /System/Library/Frameworks/LDAP.framework/Headers/ contain these two headers ldap.h and lber.h that contains: cat ldap.h #include <lber.h> cat lber.h #include <ldap.h> FindLdap search and find these headers inside the framework directory ant these are included indefinitely.... A work around to the problem is specifying the LDAP_INCLUDE_DIR when cmake is runed cmake .. -DLDAP_INCLUDE_DIR=/usr/include/ I think there is something strange on the LDAP framework.
Reopen it if you still have this error.