Tim, Serghei:
The tdelibs build failure was due to incorrect pkgconfig information supplied by libcaldav and libcarddav for their include file locations. When the ConfigureChecks.cmake tries to set the include location is gets it wrong.
Both packages include an extraneous amount of version information when installing include files. Eg:
/usr/include/libcaldav-0.6.5/caldav.h /usr/include/libcarddav-0.6.1/carddav.h
However, the pkgconfig files for both return incorrect include directory location:
21:58 nirvana:/mnt/nv1/home/chroot> cat david/usr/lib/pkgconfig/libcaldav.pc prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include
pkglibdir=${libdir}/libcaldav pkgincludedir=${includedir}/libcaldav
Name: libcaldav Description: libcaldav is a client library for CalDAV Version: 0.6.5
Cflags: -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include Libs: -pthread -lgthread-2.0 -lrt -lglib-2.0 -lcurl 21:58 nirvana:/mnt/nv1/home/chroot> cat david/usr/lib/pkgconfig/libcarddav.pc prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include
pkglibdir=${libdir}/libcarddav pkgincludedir=${includedir}/libcarddav
Name: libcarddav Description: libcarddav is a client library for CardDAV Version: 0.6.1
Cflags: -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include Libs: -pthread -lgthread-2.0 -lrt -lglib-2.0 -lcurl
Thus when the ConfigureChecks.cmake files include the location of the header files, it gets the wrong information. Eg:
# libcaldav pkg_search_module( CALDAV libcaldav ) if( CALDAV_FOUND ) execute_process( COMMAND pkg-config libcaldav --variable=pkgincludedir OUTPUT_VARIABLE _incdir RESULT_VARIABLE _result OUTPUT_STRIP_TRAILING_WHITESPACE ) execute_process( COMMAND pkg-config libcaldav --variable=pkglibdir OUTPUT_VARIABLE _libdir RESULT_VARIABLE _result OUTPUT_STRIP_TRAILING_WHITESPACE ) list( APPEND CALDAV_INCLUDE_DIRS ${_incdir} ) list( APPEND CALDAV_LIBRARY_DIRS ${_libdir} ) list( APPEND CALDAV_LIBRARIES caldav ) else( ) tde_message_fatal( "libcaldav is requested, but was not found on your system" ) endif( )
What this means is that CALDAV_INCLUDE_DIRS gets '/usr/include/libcaldav' instead of '/usr/include/libcaldav-0.6.5' where the file is actually located.
Where/How should this be corrected properly??