Guys,
This is probably a stupid "forest for the trees issue", but I can't get my kdepim build to find 'caldav.h'!
I have caldav from quickbuilds installed:
22:21 trinity:~/tblds/trinity-kdepim> locate caldav.h /usr/include/libcaldav-0.6.2/caldav.h
However, for some reason, the kdepim build isn't seeing it. I am building with:
export CMAKE_PREFIX_PATH=/opt/qt:/opt/trinity export CMAKE_INCLUDE_PATH=/usr/include/libcaldav-0.6.2
cmake ${srcdir}/${_svnmod} \ -DCMAKE_INSTALL_PREFIX=${trinity_prefix} \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DQT_VERSION=3 \ -DWITH_ARTS=ON \ -DWITH_BIRTHDAYS=ON \ -DWITH_CALDAV=ON \ -DWITH_CARDDAV=ON \ -DWITH_EGROUPWARE=ON \ -DWITH_GROUPDAV=ON \ -DWITH_INDEXLIB=ON \ -DWITH_PAM=ON \ -DWITH_SASL=ON \ -DBUILD_ALL=ON make }
It builds fine without:
-DWITH_CALDAV=ON \ -DWITH_CARDDAV=ON \
But with the above enabled, I get the following error:
[ 81%] Building CXX object kresources/caldav/CMakeFiles/kcal_caldav-shared.dir/resource.cpp.o cd /home/david/tblds/trinity-kdepim/src/build/kresources/caldav && /usr/bin/c++ -Dkcal_caldav_shared_EXPORTS -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -march=i686 -mtune=generic -O2 -pipe -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -fPIC -I/home/david/tblds/trinity-kdepim/src/build/kresources/caldav -I/home/david/tblds/trinity-kdepim/src/kdepim -I/home/david/tblds/trinity-kdepim/src/kdepim/libkdepim -I/opt/trinity/include -I/opt/qt/include -I/opt/qt/include/tqt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libcaldav -o CMakeFiles/kcal_caldav-shared.dir/resource.cpp.o -c /home/david/tblds/trinity-kdepim/src/kdepim/kresources/caldav/resource.cpp In file included from /home/david/tblds/trinity-kdepim/src/kdepim/kresources/caldav/reader.h:20:0, from /home/david/tblds/trinity-kdepim/src/kdepim/kresources/caldav/resource.cpp:39: /home/david/tblds/trinity-kdepim/src/kdepim/kresources/caldav/job.h:26:24: fatal error: caldav.h: No such file or directory compilation terminated. make[2]: *** [kresources/caldav/CMakeFiles/kcal_caldav-shared.dir/resource.cpp.o] Error 1 make[2]: Leaving directory `/home/david/tblds/trinity-kdepim/src/build' make[1]: *** [kresources/caldav/CMakeFiles/kcal_caldav-shared.dir/all] Error 2 make[1]: Leaving directory `/home/david/tblds/trinity-kdepim/src/build' make: *** [all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...
I thought setting:
export CMAKE_INCLUDE_PATH=/usr/include/libcaldav-0.6.2
would allow the build to find caldav.h, but -- it ain't working... What say the gurus?
On Saturday 07 May 2011 06:33:06 David C. Rankin wrote:
Guys,
This is probably a stupid "forest for the trees issue", but I can't get my kdepim build to find 'caldav.h'!
I have caldav from quickbuilds installed:
22:21 trinity:~/tblds/trinity-kdepim> locate caldav.h /usr/include/libcaldav-0.6.2/caldav.h
However, for some reason, the kdepim build isn't seeing it. I am building with:
export CMAKE_PREFIX_PATH=/opt/qt:/opt/trinity export CMAKE_INCLUDE_PATH=/usr/include/libcaldav-0.6.2
This is not intented to use for changing compiler flags: "CMAKE_INCLUDE_PATH: Path used for searching by FIND_FILE() and FIND_PATH()."
[...]
-I/home/david/tblds/trinity-kdepim/src/kdepim/libkdepim -I/opt/trinity/include -I/opt/qt/include -I/opt/qt/include/tqt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libcaldav -o
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You pointing /usr/include/libcaldav, instead /usr/include/libcaldav-0.6.2.
Show me output of "pkg-config libcaldav --variable=pkgincludedir".
[...]
On 05/07/2011 05:47 AM, Serghei Amelian wrote:
-I/home/david/tblds/trinity-kdepim/src/kdepim/libkdepim -I/opt/trinity/include -I/opt/qt/include -I/opt/qt/include/tqt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libcaldav -o
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You pointing /usr/include/libcaldav, instead /usr/include/libcaldav-0.6.2.
Show me output of "pkg-config libcaldav --variable=pkgincludedir".
[...]
Thanks Serghei:
23:09 trinity:~> pkg-config libcaldav --variable=pkgincludedir /usr/include/libcaldav
How do I fix this? Do I need to rebuild libcaldav with different flags?
On 05/07/2011 11:12 PM, David C. Rankin wrote:
On 05/07/2011 05:47 AM, Serghei Amelian wrote:
-I/home/david/tblds/trinity-kdepim/src/kdepim/libkdepim -I/opt/trinity/include -I/opt/qt/include -I/opt/qt/include/tqt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libcaldav -o
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You pointing /usr/include/libcaldav, instead /usr/include/libcaldav-0.6.2.
Show me output of "pkg-config libcaldav --variable=pkgincludedir".
[...]
Thanks Serghei:
23:09 trinity:~> pkg-config libcaldav --variable=pkgincludedir /usr/include/libcaldav
How do I fix this? Do I need to rebuild libcaldav with different flags?
I think I have it solved. There were 3 files that needed fixing:
Changelog (that is where the 'Version' is pulled from):
--- libcaldav-0.6.5/ChangeLog +++ libcaldav-0.6.5/ChangeLog 2011-05-08 00:56:11.000000000 -0500 @@ -1,3 +1,9 @@ +libcaldav (0.6.5) + * Fix bug to be able to integrate the debian libcaldav + source with Arch PKGBUILD Patch provided by Timothy Pearson + +-- David Rankin drankinatty@gmail.com Sun, 8 May 2011 22:51:03 +0100 + libcaldav (0.6.2) * Fix bug to be able to handle HTTP HEADER lines split over multiple lines. Patch provided by Timothy Pearson
Makefile.am:
--- libcaldav-0.6.5/src/Makefile.am +++ libcaldav-0.6.5/src/Makefile.am 2011-05-08 01:16:47.000000000 -0500 @@ -37,7 +37,7 @@ get-freebusy-report.c \ get-freebusy-report.h
-libcaldav_includedir=$(includedir)/libcaldav-@VERSION@ +libcaldav_includedir=$(includedir)/libcaldav libcaldav_include_HEADERS = caldav.h
noinst_HEADERS = \
Makefile.in:
--- libcaldav-0.6.5/src/Makefile.in +++ libcaldav-0.6.5/src/Makefile.in 2011-05-08 01:16:15.000000000 -0500 @@ -284,7 +284,7 @@ get-freebusy-report.c \ get-freebusy-report.h
-libcaldav_includedir = $(includedir)/libcaldav-@VERSION@ +libcaldav_includedir = $(includedir)/libcaldav libcaldav_include_HEADERS = caldav.h noinst_HEADERS = \ add-caldav-object.h \
The caldav.h is now installed in /usr/include/libcaldav. I'm starting the kdepim build and we will see if it builds clean this time :)
On 05/08/2011 01:31 AM, David C. Rankin wrote:
On 05/07/2011 11:12 PM, David C. Rankin wrote:
On 05/07/2011 05:47 AM, Serghei Amelian wrote:
-I/home/david/tblds/trinity-kdepim/src/kdepim/libkdepim -I/opt/trinity/include -I/opt/qt/include -I/opt/qt/include/tqt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libcaldav -o
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You pointing /usr/include/libcaldav, instead /usr/include/libcaldav-0.6.2.
Show me output of "pkg-config libcaldav --variable=pkgincludedir".
[...]
Thanks Serghei:
23:09 trinity:~> pkg-config libcaldav --variable=pkgincludedir /usr/include/libcaldav
How do I fix this? Do I need to rebuild libcaldav with different flags?
I think I have it solved. There were 3 files that needed fixing:
Changelog (that is where the 'Version' is pulled from):
--- libcaldav-0.6.5/ChangeLog +++ libcaldav-0.6.5/ChangeLog 2011-05-08 00:56:11.000000000 -0500 @@ -1,3 +1,9 @@ +libcaldav (0.6.5)
- Fix bug to be able to integrate the debian libcaldav
- source with Arch PKGBUILD Patch provided by Timothy Pearson
+-- David Rankin drankinatty@gmail.com Sun, 8 May 2011 22:51:03 +0100
libcaldav (0.6.2)
- Fix bug to be able to handle HTTP HEADER lines split
over multiple lines. Patch provided by Timothy Pearson
Makefile.am:
--- libcaldav-0.6.5/src/Makefile.am +++ libcaldav-0.6.5/src/Makefile.am 2011-05-08 01:16:47.000000000 -0500 @@ -37,7 +37,7 @@ get-freebusy-report.c \ get-freebusy-report.h
-libcaldav_includedir=$(includedir)/libcaldav-@VERSION@ +libcaldav_includedir=$(includedir)/libcaldav libcaldav_include_HEADERS = caldav.h
noinst_HEADERS = \
Makefile.in:
--- libcaldav-0.6.5/src/Makefile.in +++ libcaldav-0.6.5/src/Makefile.in 2011-05-08 01:16:15.000000000 -0500 @@ -284,7 +284,7 @@ get-freebusy-report.c \ get-freebusy-report.h
-libcaldav_includedir = $(includedir)/libcaldav-@VERSION@ +libcaldav_includedir = $(includedir)/libcaldav libcaldav_include_HEADERS = caldav.h noinst_HEADERS = \ add-caldav-object.h \
The caldav.h is now installed in /usr/include/libcaldav. I'm starting the kdepim build and we will see if it builds clean this time :)
THAT WORKED! You also have to patch libcarddav as well to get the @VERSION@ removed from the libcarddav include file. But, after that, kdepim built fine with:
cmake ${srcdir}/${_svnmod} \ -DCMAKE_INSTALL_PREFIX=${trinity_prefix} \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DQT_VERSION=3 \ -DWITH_ARTS=ON \ -DWITH_BIRTHDAYS=ON \ -DWITH_CALDAV=ON \ -DWITH_CARDDAV=ON \ -DWITH_EGROUPWARE=ON \ -DWITH_GROUPDAV=ON \ -DWITH_INDEXLIB=ON \ -DWITH_PAM=ON \ -DWITH_SASL=ON \ -DBUILD_ALL=ON make
I'm still working on getting the patch for libcarddav automated. I'll post that when I have it working. You just do the same thing for libcarddav. But, instead of 3 individual patch files, I'm trying to do it with just 1 and I keep having to enter the names of files to patch during the build. It works, but I have to recreate the .patch file so it works without user interaction...