[Digikam-devel] [Kde-pim] Akonadi Contact library: Targets not properly exported

Ben Cooksley bcooksley at kde.org
Fri Apr 8 21:53:51 BST 2016


On Sat, Apr 9, 2016 at 12:38 AM, Gilles Caulier
<caulier.gilles at gmail.com> wrote:
> Hi Scarlet,

Hi GIlles, PIM developers,

>
> -#include <Akonadi/Contact/ContactSearchJob>
> +#include <KF5/akonadi/contact/contactsearchjob.h>
>
> This patch sound like a wrong way to handle frameworks header. After all i
> never use #include <KF5/...> syntax, and there is no reason to do it.
>
> Using the .h file instead the camelcase version is not a problem, but both
> cases must work well in client application.

Can someone please investigate the issue within the Akonadi Contact library?
Assuming the part of Digikam which is trying to use this header is
linking to the appropriate library using the provided target, then
this compilation failure would indicate that targets are not being
properly exported despite appearing to be so.

It would be appreciated if you jointly investigated why this isn't working.

Also, PIM devs - you've broken your CI jobs with your version bump *again*.
Please check with dfaure on how he handles the Frameworks version
bumps - those don't experience these issues.

>
> Gilles Caulier

Regards,
Ben

>
> 2016-04-07 3:01 GMT+02:00 Scarlett Clark <scarlett.gately.clark at gmail.com>:
>>
>> It has to do with /path/to/include/KF5/path/to/camelcase , the key is
>> actually the KF5 folder.
>> If I patch  include/KF5/Path/To/Camelcase file it works, however the camel
>> case file does not find its own header.
>>
>>
>> /srv/jenkins/install/ubuntu/x86_64/g++/kf5-qt5/kde/kdepimlibs/inst/usr/include/KF5/Akonadi/Contact/ContactSearchJob:1:46:
>> fatal error: akonadi/contact/contactsearchjob.h: No such file or directory
>> 22:47:37 compilation terminated.
>>
>> I can only assume the KF5 folder is involved again. So I tried to add KF5
>> to the ecm_generate_headers(PREFIX) but that has the effect of lower case
>> kf5 which also does not work, obviously.
>>
>> So I turned back to Digikam and patched:
>>
>> -#include <Akonadi/Contact/ContactSearchJob>
>> +#include <KF5/akonadi/contact/contactsearchjob.h>
>>
>> And finally we have a successful build.
>>
>>
>> https://build.kde.org/job/digikam%20master%20kf5-qt5/PLATFORM=Linux,compiler=gcc/68/console
>>
>> I do notice KDE_INSTALL_INCLUDEDIR_KF5 in kdepimlibs is likely what puts
>> in this KF5 folder?
>>
>> I do not know who is responsible here, but someone needs to fix something
>> :) I have exhausted my current C++ skills to get this far lol.
>>
>> I have added digikam to the conversation.
>> Cheers,
>> Scarlett
>>
>>
>> On Thu, Mar 31, 2016 at 11:48 PM, Ben Cooksley <bcooksley at kde.org> wrote:
>>>
>>> On Thu, Mar 31, 2016 at 11:44 PM, Christophe Giboudeaux
>>> <cgiboudeaux at gmx.com> wrote:
>>> > On mercredi 30 mars 2016 20:19:29 CEST Ben Cooksley wrote:
>>> >> On Tue, Mar 29, 2016 at 10:46 PM, Sandro Knauß <sknauss at kde.org>
>>> >> wrote:
>>> >>
>>> >> Those are the header generation and installation routines - which do
>>> >> indeed look.
>>> >> What is missing in this case is the include path specification for the
>>> >> KF5::AkonadiContact target which CMake provides.
>>> >>
>>> >
>>> > The exported target is correct.
>>> > From KF5AkonadiContactTargets.cmake :
>>> >
>>> > set_target_properties(KF5::AkonadiContact PROPERTIES
>>> > INTERFACE_INCLUDE_DIRECTORIES
>>> >  "${_IMPORT_PREFIX}/include/KF5/Akonadi/Contact;
>>> >   ${_IMPORT_PREFIX}/include/KF5;
>>> >   ${_IMPORT_PREFIX}/include/KF5/akonadi/contact;
>>> >   ${_IMPORT_PREFIX}/include/KF5"
>>> >   INTERFACE_LINK_LIBRARIES
>>> > "KF5::AkonadiCore;KF5::Contacts;Qt5::Widgets"
>>> > )
>>>
>>> Hmm, indeed that does look correct.
>>> I wonder why Digikam would fail to compile then:
>>>
>>> 19:24:09
>>> /home/jenkins/sources/digikam/kf5-qt5/utilities/kdesupport/akonadi/akonadiiface.cpp:47:44:
>>> fatal error: Akonadi/Contact/ContactSearchJob: No such file or
>>> directory
>>>
>>> Any ideas? (I assume Digikam is trying using to use AkonadiContact
>>> correctly)
>>>
>>> Cheers,
>>> Ben
>>>
>>> >
>>> > _______________________________________________
>>> > Kde-buildsystem mailing list
>>> > Kde-buildsystem at kde.org
>>> > https://mail.kde.org/mailman/listinfo/kde-buildsystem
>>> >
>>> _______________________________________________
>>> 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/
>>
>>
>>
>> _______________________________________________
>> Digikam-devel mailing list
>> Digikam-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/digikam-devel
>>
>



More information about the Digikam-devel mailing list