On 6 August 2017 at 01:40, Linus Torvalds <torva...@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 -- _______________________________________________ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface