Digikam GSoC 2021

Gilles Caulier caulier.gilles at gmail.com
Sun Apr 4 10:38:11 BST 2021


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/20210404/df07ffd8/attachment.htm>


More information about the Digikam-devel mailing list