Digikam GSoC 2021

Gilles Caulier caulier.gilles at gmail.com
Wed Apr 7 22:17:07 BST 2021


You need to use the Clazy stable tag. the last one is v1.9.
The clang version used is important. Here i use 11.0.1
and finally, the check options for clazy to enable is important, as some
options are under development and make the process unstable.

I recommend limiting multicore use. No need to overload the computer with
plenty of concurrent memory allocation to compile codes. 12 cores is heavy.
4 or 6 is enough i think (here i use 3 cores only.

Gilles Caulier

Le mer. 7 avr. 2021 à 20:51, Anjani Kumar <anjanik012 at gmail.com> a écrit :

> I am trying to run clazy.sh
>
> Well it runs and then crashes midway on command "make -j12 2>
> reports.clazy/trace.log"
> when i re-run this command again then build succeeds . I try to visualize
> it using clazy_visualize.sh and the report it generates contains only one
> warning type "qt6-qhash-signature"  but clearly in my log file, there are
> other warnings as well.  I guess this is caused by build failure in between
> and wrong report is generated.
>
> I'm trying to debug it.
>
> Thanks
> Anjani
>
> On Apr 7 2021, at 9:30 pm, Gilles Caulier <caulier.gilles at gmail.com>
> wrote:
>
> Look in Python script used to parse Clazy compilation trace and extract
> all relevant warnings based on turned on flag :
>
>
> https://invent.kde.org/graphics/digikam/-/blob/master/project/reports/clazy_visualizer.py
>
> Gilles Caulier
>
>
>
> Le mer. 7 avr. 2021 à 17:08, Anjani Kumar <anjanik012 at gmail.com> a écrit :
>
> Is there a good way extract/export only compiler warnings and errors to
> file? I can filter them out later from the output but is there a way to do
> this in a better way?
>
> On Apr 5 2021, at 9:04 am, Gilles Caulier <caulier.gilles at gmail.com>
> wrote:
>
> Hi,
>
> I saw. I will comment on your document inline today.
> Best
>
> Gilles Caulier
>
> Le lun. 5 avr. 2021 à 00:08, Anjani Kumar <anjanik012 at gmail.com> a écrit :
>
> Hello, I have submitted the first draft of the proposal. I am a bit late
> for submitting it. I would like to apologize for that.
>
> Thanks
> Anjani
>
> On Apr 4 2021, at 3:44 pm, Anjani Kumar <anjanik012 at gmail.com> wrote:
>
> Thanks. I'll soon submit a proposal.
>
> Anjani
>
> On Sun, Apr 4, 2021, 3:08 PM Gilles Caulier <caulier.gilles at gmail.com>
> wrote:
>
> ok,
>
> After to trying to force Qt5 to use a 3rd party openssl precompiled as
> static, to second a lower version of system native openssl,
> configure script refuse to prior newer version. this work only to link the
> same openssl version but compiled with different options. The headers must
> be the same.
> We cannot mix different version of openssl at the same time.
>
> Qt5 configure make really a puzzle. Welcome to cmake with Qt6...
>
> So definitely, the only solution is to use a system based with openssl
> 1.1.1 to support Qt 5.15.x and Qt 6.x, so MGA 8.
>
> Best
>
> Gilles Caulier
>
> Le sam. 3 avr. 2021 à 17:30, Gilles Caulier <caulier.gilles at gmail.com> a
> écrit :
>
> yes i seen . in fact since Qt 5.15.0, openssl 1.1.1 is required.
>
> There is no choice to found a way to force Qt 5.15.2 to use the static
> openssl compiled version installed to /opt/openssl.
>
> I don't understand why configure script do not acceopt
> /opt/openssl/include directory as header path.
>
> Gilles Caulier
>
> Le sam. 3 avr. 2021 à 16:41, Anjani Kumar <anjanik012 at gmail.com> a écrit :
>
> It seems like Qt 5.15.1 is also failing to be configured. I also set the
> system installed openssl path but the errors are same :(
>
> On Apr 3 2021, at 5:45 pm, Gilles Caulier <caulier.gilles at gmail.com>
> wrote:
>
> The way to pass env var to Qt5 configure script is explained in helper doc
> :
>
>
> https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/3rdparty/ext_qt/5.15/config_help-5.15.txt#L3
> <https://link.getmailspring.com/link/F2B60C9B-FB85-4975-AF43-660FA32387D3@getmailspring.com/0?redirect=https%3A%2F%2Finvent.kde.org%2Fgraphics%2Fdigikam%2F-%2Fblob%2Fmaster%2Fproject%2Fbundles%2F3rdparty%2Fext_qt%2F5.15%2Fconfig_help-5.15.txt%23L3&recipient=ZGlnaWthbS1kZXZlbEBrZGUub3Jn>
>
> Variables most be passed at end of .configure options, else it do not work.
>
> MGA 7 provide openssl 1.1.0, not 1.1.1, as required to build Qt 5.15.2.
> this is why openssl is previously build as static library in /opt/openssl/
> and env is passed to .configure script like this :
>
>
> https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/3rdparty/ext_qt/5.15/CMakeLists.txt#L89
> <https://link.getmailspring.com/link/F2B60C9B-FB85-4975-AF43-660FA32387D3@getmailspring.com/1?redirect=https%3A%2F%2Finvent.kde.org%2Fgraphics%2Fdigikam%2F-%2Fblob%2Fmaster%2Fproject%2Fbundles%2F3rdparty%2Fext_qt%2F5.15%2FCMakeLists.txt%23L89&recipient=ZGlnaWthbS1kZXZlbEBrZGUub3Jn>
>
> ... but definitively, this doesn't work, certainly because .configure
> script from Qt is buggy :
>
> Checking for OpenSSL...
> Trying source 0 (type openssl) of library openssl ...
> $OPENSSL_LIBS is not set.
>   => source produced no result.
> Trying source 1 (type inline) of library openssl ...
>   => source failed condition 'config.win32'.
> Trying source 2 (type inline) of library openssl ...
>   => source failed condition 'config.msvc'.
> Trying source 3 (type inline) of library openssl ...
>   => source failed condition 'config.android'.
> Trying source 4 (type inline) of library openssl ...
> Include path \"/opt/openssl/include/\" is invalid.
>   => source produced no result.
>
> So :
>
> 1/ we cannot remove the system based openssl 1.1.0 as it used by plenty
> Qt5/KF5/DK dependencies to comple (aka mariabd, ffmpeg,opencv, etc.)
> 2/ to compile Qt 5.15.2, openssl 1.1.1 is required (too bad). So we need a
> extra static openssl only for qtbase.
> 3/ as .configure make a mess, and as i'm tired to waste my time with this
> archaic build system. I said stop.
> 4/ as Qt6 will be based on cmake and not qmake/configure
>
> ==> we will use Qt 5.15.1 under MGA7, as this version of Qt only require
> openssl 1.1.0.
>
> And that all.
>
> Gilles Caulier
>
>
> [image: Sent from Mailspring]
> Le sam. 3 avr. 2021 à 12:57, Gilles Caulier <caulier.gilles at gmail.com> a
> écrit :
>
> I currently working on this port : MGA6 => MGA7
>
> I am falling on the same dysfunction.
>
> Gilles Caulier
>
> Le sam. 3 avr. 2021 à 12:23, Anjani Kumar <anjanik012 at gmail.com> a écrit :
>
> Hello, I am running a Mageia 7.1 instance and trying to run appimage
> scripts. The first script is failing in configuring Qt 5.15.  There are the
> things I have done
>
> build ext_openssl, and Qt configuration step always fails with
>
> ERROR: Feature 'openssl-linked' was enabled, but the pre-condition
> '!features.securetransport && !features.schannel && libs.openssl' failed.
>
> I have tried other ways to provide the path but it always fails with this
> msg. How to pass the path correctly?
>
> On Apr 3 2021, at 11:01 am, Gilles Caulier <caulier.gilles at gmail.com>
> wrote:
>
>
>
> Le sam. 3 avr. 2021 à 06:37, Anjani Kumar <anjanik012 at gmail.com
> <https://link.getmailspring.com/link/4FF348DD-66C7-4FAA-BC58-1CCE0E059A88@getmailspring.com/0?redirect=mailto%3Aanjanik012%40gmail.com&recipient=ZGlnaWthbS1kZXZlbEBrZGUub3Jn>>
> a écrit :
>
> Is there a specific reason to upgrade to mageia 7.1 and not 8?  Qt 5.15 is
> available in the official repos for mageia 8 while for mageia 7.1 it is
> 5.12 and we would have to build Qt 5.15.
>
>
> yes there is. the libc version to use when AppImage bundle contents is
> compiled must be an older version for binary compatibility with other Linux
> systems.
>
> Currently Mageia6 is used. This OS has not been maintained since a while
> but the GCC version is enough recent to compile all Qt5, KF5, and DK codes.
> This will be the same with Mageia7 which will become unmaintained in the
> near future to promote Mageia 8. This last one is too much recent to make a
> large compatible AppImage with all current Linux.
>
> Gilles Caulier
>
> [image: Sent from Mailspring]
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20210407/01ae4466/attachment-0001.htm>


More information about the Digikam-devel mailing list