[Kde-finance-apps] Review Request 120938: Avoiding KF5-Skrooge build failures on OSX/CI due to QCA2

Marko Käning mk-lists at email.de
Thu Nov 20 18:03:21 UTC 2014



> On Nov. 1, 2014, 9:38 p.m., Marko Käning wrote:
> > This is what skrooge's log says:
> > ```
> > -- ..:: CMAKE SKGBASEMODELER ::..
> > CMake Error at skgbasemodeler/CMakeLists.txt:23 (FIND_PACKAGE):
> >   By not providing "FindQCA2.cmake" in CMAKE_MODULE_PATH this project has
> >   asked CMake to find a package configuration file provided by "QCA2", but
> >   CMake did not find one.
> > 
> >   Could not find a package configuration file provided by "QCA2" (requested
> >   version 2.0.0) with any of the following names:
> > 
> >     QCA2Config.cmake
> >     qca2-config.cmake
> > 
> >   Add the installation prefix of "QCA2" to CMAKE_PREFIX_PATH or set
> >   "QCA2_DIR" to a directory containing one of the above files.  If "QCA2"
> >   provides a separate development package or SDK, be sure it has been
> >   installed.
> > ```
> > and in fact those files aren't there, as they neither use capitalization nor the digig "2":
> > ```
> > $ ls -1 /opt/kde/install/darwin/mavericks/clang/kf5-qt5/kdesupport/qca/inst/lib64/cmake/Qca
> > QcaConfig.cmake
> > QcaConfigVersion.cmake
> > QcaTargets-debug.cmake
> > QcaTargets.cmake
> > ```
> 
> Ben Cooksley wrote:
>     The change itself can go through fine. Have you tried comparing the CMake statements used by Konvi and Skrooge to see if there is a difference there?
> 
> Marko Käning wrote:
>     No, I haven't investigated that further. I'll leave that to the skrooge devs, I guess.
>     
>     OK, I'll commit this as is then. :)
> 
> Marko Käning wrote:
>     Committed in http://commits.kde.org/kde-build-metadata/66e68c333d1f439294b522fd46691bffe5688040 .
>     
>     Next we'll see whether job skrooge http://build.kde.org/view/FAILED/job/skrooge_frameworks_qt5/ will succeed on Linux once the dependencies have found their destination on Jenkins master.
> 
> Marko Käning wrote:
>     So, turns out that skrooge also fails on Jenkins master because of the same problem w.r.t. QCA2 as on OSX/CI.
>     
>     http://build.kde.org/view/FAILED/job/skrooge_stable_qt5/5/console
> 
> Marko Käning wrote:
>     Strangely enough I see now that konversation at its current state also fails to build on OSX/CI:
>     ```
>     -- Configuring done
>     CMake Error in src/CMakeLists.txt:
>       Imported target "qca" includes non-existent path
>     
>         "/opt/kde/install/darwin/mavericks/clang/kf5-qt5/kdesupport/qca/inst/include/QtCrypto"
>     
>       in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:
>     
>       * The path was deleted, renamed, or moved to another location.
>     
>       * An install or uninstall procedure did not complete successfully.
>     
>       * The installation package was faulty and references files it does not
>       provide.
>     ```
> 
> Ben Cooksley wrote:
>     Sounds like the headers might be getting installed wrongly. Can you search the INSTALL_ROOT for QCA to see where the QtCrypto headers ended up?
> 
> Marko Käning wrote:
>     This is what is installed for QCA on the OSX/CI system:
>     ```
>     $ tree /opt/kde/install/darwin/mavericks/clang/kf5-qt5/kdesupport/qca/inst
>     /opt/kde/install/darwin/mavericks/clang/kf5-qt5/kdesupport/qca/inst
>     ??? bin
>     ?   ??? mozcerts
>     ?   ??? qcatool
>     ??? certs
>     ?   ??? rootcerts.pem
>     ??? lib64
>     ?   ??? cmake
>     ?   ?   ??? Qca
>     ?   ?       ??? QcaConfig.cmake
>     ?   ?       ??? QcaConfigVersion.cmake
>     ?   ?       ??? QcaTargets-debug.cmake
>     ?   ?       ??? QcaTargets.cmake
>     ?   ??? pkgconfig
>     ?   ?   ??? qca2.pc
>     ?   ??? qca
>     ?   ?   ??? crypto
>     ?   ?       ??? libqca-cyrus-sasl_debug.dylib
>     ?   ?       ??? libqca-gcrypt_debug.dylib
>     ?   ?       ??? libqca-gnupg_debug.dylib
>     ?   ?       ??? libqca-logger_debug.dylib
>     ?   ?       ??? libqca-ossl_debug.dylib
>     ?   ?       ??? libqca-softstore_debug.dylib
>     ?   ??? qca.framework
>     ?       ??? Headers -> Versions/Current/Headers
>     ?       ??? Resources -> Versions/Current/Resources
>     ?       ??? Versions
>     ?       ?   ??? 2.1.0
>     ?       ?   ?   ??? Headers
>     ?       ?   ?   ?   ??? QtCrypto
>     ?       ?   ?   ?   ??? qca.h
>     ?       ?   ?   ?   ??? qca_basic.h
>     ?       ?   ?   ?   ??? qca_cert.h
>     ?       ?   ?   ?   ??? qca_core.h
>     ?       ?   ?   ?   ??? qca_export.h
>     ?       ?   ?   ?   ??? qca_keystore.h
>     ?       ?   ?   ?   ??? qca_publickey.h
>     ?       ?   ?   ?   ??? qca_safetimer.h
>     ?       ?   ?   ?   ??? qca_securelayer.h
>     ?       ?   ?   ?   ??? qca_securemessage.h
>     ?       ?   ?   ?   ??? qca_support.h
>     ?       ?   ?   ?   ??? qca_textfilter.h
>     ?       ?   ?   ?   ??? qca_tools.h
>     ?       ?   ?   ?   ??? qca_version.h
>     ?       ?   ?   ?   ??? qcaprovider.h
>     ?       ?   ?   ?   ??? qpipe.h
>     ?       ?   ?   ??? Resources
>     ?       ?   ?   ?   ??? Info.plist
>     ?       ?   ?   ??? qca
>     ?       ?   ??? Current -> 2.1.0
>     ?       ??? qca -> Versions/Current/qca
>     ??? mkspecs
>     ?   ??? features
>     ?       ??? crypto.prf
>     ??? share
>         ??? man
>             ??? man1
>                 ??? qcatool.1
>     
>     21 directories, 36 files
>     ```
>     i.e. it's a framework which doesn't supply its files in an include folder.

This issue can be fixed on OSX/CI when using QCA instead of QCA2 in the FIND_PACKAGE call:
```
diff --git a/skgbasemodeler/CMakeLists.txt b/skgbasemodeler/CMakeLists.txt
index fba496c..aabae91 100644
--- a/skgbasemodeler/CMakeLists.txt
+++ b/skgbasemodeler/CMakeLists.txt
@@ -20,7 +20,7 @@ PROJECT(SKGBASEMODELER)
 
 LINK_DIRECTORIES (${LIBRARY_OUTPUT_PATH})
 
-FIND_PACKAGE(QCA2 2.0.0 REQUIRED)
+FIND_PACKAGE(QCA 2.0.0 REQUIRED)
 FIND_PACKAGE(Sqlite 3.7.0 REQUIRED)
 
 MESSAGE( STATUS "     SQLITE      : " ${SQLITE_INCLUDE_DIR})

```
How can we make this consistent for Linux and OSX without me having to patch this for the OSX/CI system.


- Marko


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120938/#review69656
-----------------------------------------------------------


On Nov. 20, 2014, 5:39 p.m., Marko Käning wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120938/
> -----------------------------------------------------------
> 
> (Updated Nov. 20, 2014, 5:39 p.m.)
> 
> 
> Review request for Skrooge, Ben Cooksley, Michael Pyne, and André Wöbbeking.
> 
> 
> Repository: kde-build-metadata
> 
> 
> Description
> -------
> 
> I was trying to build skrooge's KF5 version on OSX/CI, but found that I couldn't get QCA2 to be identified as installed by the build system.
> 
> konversation has the same problem...
> 
> (Also I don't think that I shouldn't be using three times master for the other branch groups.)
> 
> 
> Diffs
> -----
> 
>   dependency-data-kf5-qt5 7766acc 
>   logical-module-structure d1d6396 
> 
> Diff: https://git.reviewboard.kde.org/r/120938/diff/
> 
> 
> Testing
> -------
> 
> Building on OSX/CI still fails due to QCA2.
> 
> 
> Thanks,
> 
> Marko Käning
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-finance-apps/attachments/20141120/87c48821/attachment-0001.html>


More information about the Kde-finance-apps mailing list