Qt 5.9 openssl problems on F26

Lubomir I. Ivanov neolit123 at gmail.com
Sat Aug 5 16:44:00 PDT 2017


On 6 August 2017 at 01:40, Linus Torvalds <torvalds at linux-foundation.org> wrote:
> Ok, I've worked around this by just using my old build, but it means
> that ssl doesn't work, which in turn means that I can't actually do
> the cloud access etc on my F26 desktop.
>
> So I'm tried of my old broken At-5.9 build, and would like to know how
> to make a proper build against openssl-1.1.0, which is what F26 has.
>
> I get complete failure with qtbase, which just doesn't build at all:
>
>   ssl/qsslcertificate_openssl.cpp: In function ‘uint qHash(const
> QSslCertificate&, uint)’:
>   ssl/qsslcertificate_openssl.cpp:69:30: error: invalid use of
> incomplete type ‘X509 {aka struct x509_st}’
>          return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
>
> and a lot of other similar errors.
>
> Googling it finds a few Qt bug reports that are closed, but it's not
> clear *why* they were closed or what the fix to build against modern
> openssl headers actually is.
>
> This is all with a clean tree after a full re-configure.  Current
> up-to-date qt5 (and yes, my qtbase tree matches what the qt5 top-level
> module says), followed by:
>
>     perl init-repository -f --module-subset=default,qtwebkit
>     ./configure -prefix $PWD/qtbase -opensource -nomake examples
> -nomake tests -confirm-license
>
> so I'm wondering what's up. I can't be the only one building Qt on
> F26. What's the magic to make it work?
>

this post suggests a solution; use older openssl - e.g. 1.0.2:
https://stackoverflow.com/a/35516953

looking at the source of openssl they made breaking changes in 1.1.0
and the X509 structs are now private.
so QtBase 5.9 won't work. support for openssl 1.1.0 should arrive in
Qt 5.10 with a "opensslv11" flag (?)...i read that somewhere.

related bugreport:
https://bugreports.qt.io/browse/QTBUG-52905

patches:
https://codereview.qt-project.org/#/c/189399/

lubomir
--


More information about the subsurface mailing list