[Kde-pim] Building akonadinext

Daniel Vrátil dvratil at redhat.com
Thu Dec 18 13:44:41 GMT 2014


On Thursday, December 18, 2014 01:50:47 PM Martin Steigerwald wrote:
> Hi!
> 
> I get a build error on trying to build Akonadi next:
> 
> -- The following OPTIONAL packages have not been found:
> 
>  * Libgit2
> 
> -- The following REQUIRED packages have not been found:
> 
>  * FlatBuffers
> 
> CMake Error at /usr/share/cmake-3.0/Modules/FeatureSummary.cmake:513
> (message):
>   feature_summary() Error: REQUIRED package(s) are missing, aborting CMake
>   run.
> Call Stack (most recent call first):
>   CMakeLists.txt:63 (feature_summary)
> 
> 
> 
> So I tried building flatbuffers and got this:
> 
> martin at merkaba:~/KDE/Dev/flatbuffers> make -j4
> [ 38%] Built target flatc
> [ 61%] Built target flatsampletext
> [ 72%] [ 77%] Built target flatsamplebinary
> Building CXX object CMakeFiles/flattests.dir/tests/test.cpp.o
> /home/martin/KDE/Dev/flatbuffers/tests/test.cpp: In instantiation of ‘void
> TestEq(T, U, const char*, const char*, int) [with T = long unsigned int; U =
> int]’:
> /home/martin/KDE/Dev/flatbuffers/tests/test.cpp:140:3:   required from here
> /home/martin/KDE/Dev/flatbuffers/tests/test.cpp:40:14: error: comparison
> between signed and unsigned integer expressions [-Werror=sign-compare]
>    if (expval != val) {
>               ^
> cc1plus: all warnings being treated as errors
> CMakeFiles/flattests.dir/build.make:128: recipe for target
> 'CMakeFiles/flattests.dir/tests/test.cpp.o' failed
> make[2]: *** [CMakeFiles/flattests.dir/tests/test.cpp.o] Error 1
> CMakeFiles/Makefile2:165: recipe for target 'CMakeFiles/flattests.dir/all'
> failed
> make[1]: *** [CMakeFiles/flattests.dir/all] Error 2
> Makefile:127: recipe for target 'all' failed
> make: *** [all] Error 2
> 
> 
> I worked around it like this:
> 
> diff --git a/tests/test.cpp b/tests/test.cpp
> index 46d3f95..5aaaf0d 100644
> --- a/tests/test.cpp
> +++ b/tests/test.cpp
> @@ -37,7 +37,7 @@ int testing_fails = 0;
> 
>  template<typename T, typename U>
>  void TestEq(T expval, U val, const char *exp, const char *file, int line) {
> -  if (expval != val) {
> +  if (expval != (T) val) {
>      auto expval_str = flatbuffers::NumToString(expval);
>      auto val_str = flatbuffers::NumToString(val);
>      TEST_OUTPUT_LINE("TEST FAILED: %s:%d, %s (%s) != %s", file, line,
> 

You can just skip building tests: -DFLATBUFFERS_BUILD_TESTS:BOOL=OFF

> Okay, now also after installed libgit-dev it builds. I thought libgit would
> be optional but apparently it isn´t:
> 
> -- The following OPTIONAL packages have not been found:
> 
>  * Libgit2
> 
> CMake Error: The following variables are used in this project, but they are
> set to NOTFOUND.
> Please set them or make sure they are set and tested correctly in the CMake
> files:
> LIBGIT2_INCLUDE_DIR (ADVANCED)
>    used as include directory in directory
> /home/martin/KDE/Dev/akonadinext/tests/hawd
>    used as include directory in directory
> /home/martin/KDE/Dev/akonadinext/tests/hawd
> LIBGIT2_LIBRARIES (ADVANCED)
>     linked by target "hawd" in directory
> /home/martin/KDE/Dev/akonadinext/tests/hawd
>     linked by target "libhawd" in directory
> /home/martin/KDE/Dev/akonadinext/tests/hawd
> 
> -- Configuring incomplete, errors occurred!
> 

* shrug *

Probably not that optional then :D

> 
> Ah, then a dependency is missing from cmake:
> 
> [ 45%] Built target asynctest
> /home/martin/KDE/Dev/akonadinext/common/storage_lmdb.cpp:34:18: fatal error:
> lmdb.h: Datei oder Verzeichnis nicht gefunden
>  #include <lmdb.h>
>                   ^
> compilation terminated.
> 

lmdb does not have a CMake or pkgconfig file, so I guess Aaron was just lazy 
to write one  ;-) - after all it's not even sure if we will end up using lmdb 
in the end, even though it looks like the best candidate so far.

> 
> Okay, after installing it, it still doesn´t build:
> 
> [ 59%] Linking CXX executable clientapitest
> [ 61%] Building CXX object client/CMakeFiles/akonadi2_client.dir/main.cpp.o
> Building CXX object
> dummyresource/CMakeFiles/akonadi2_resource_dummy.dir/facade.cpp.o
> /home/martin/KDE/Dev/akonadinext/client/main.cpp:20:24: fatal error:
> QApplication: No such file or directory
>  #include <QApplication>
>                         ^
> compilation terminated.
> [ 62%] Building CXX object
> synchronizer/CMakeFiles/akonadi2_synchronizer.dir/listener.cpp.o
> client/CMakeFiles/akonadi2_client.dir/build.make:54: recipe for target
> 'client/CMakeFiles/akonadi2_client.dir/main.cpp.o' failed
> make[2]: *** [client/CMakeFiles/akonadi2_client.dir/main.cpp.o] Error 1
> CMakeFiles/Makefile2:503: recipe for target
> 'client/CMakeFiles/akonadi2_client.dir/all' failed
> make[1]: *** [client/CMakeFiles/akonadi2_client.dir/all] Error 2
> make[1]: *** Waiting for unfinished jobs....
> [ 66%] Built target clientapitest
> In file included from /home/martin/
> 
> 
> 
> Hmm, but I have it:
> 
> martin at merkaba:~/KDE/Dev/akonadinext/build> apt-file search QApplication |
> egrep "libqt|qtbase"
> libqt4-dev: /usr/include/qt4/QtGui/QApplication
> qtbase5-dev: /usr/include/x86_64-linux-
> gnu/qt5/QtGui/QApplicationStateChangeEvent
> qtbase5-dev: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
> 
> 
> 
> Any hint?

Probably not linking against Qt5::Widget, so the includes are not set either. 
I'm not sure why we are using qt5_use_modules instead of doing the CMake 
properly.

> 
> 
> Also what can I do with it then, I bet I can test the hawd benchmark. 

Hack on it. There's nothing else to do.

> Can I also throw a huge maildir folder yet at it for testing? Or is it all 
to premature yet?

Extremely premature I'd say, since there's no real resource yet that could 
read emails, or maildirs for that matter. Give it few more months :)

> 
> Thanks,

-- 
Daniel Vrátil | dvratil at redhat.com | dvratil on #kde-devel, #kontact, #akonadi
Software Engineer - KDE Desktop Team, Red Hat Inc.

GPG Key: 0xC59D614F6F4AE348
Fingerprint: 4EC1 86E3 C54E 0B39 5FDD B5FB C59D 614F 6F4A E348
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20141218/8626e965/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list