You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Building Qt5-5.8.0-intel-2017b on a system with OpenSSL 1.1.0f fails with the following error:
icpc -c -pch-use .pch/Qt5Network.pchi -include ../corelib/global/qt_pch.h -O2 -falign-functions=16 -ansi-alias -fstrict-aliasing -std=c++1y -fvisibility=hidden -fvisibility-inlines-hidden -w1 -Wall -Wcheck -wd1572,873,2259,2261,3373 -D_REENTRANT -D_REENTRANT -D_REENTRANT -fPIC -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_USE_SYSTEM_PROXIES -DQT_BUILD_NETWORK_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -Ikernel -I../../include -I../../include/QtNetwork -I../../include/QtNetwork/5.8.0 -I../../include/QtNetwork/5.8.0/QtNetwork -I../../include/QtCore/5.8.0 -I../../include/QtCore/5.8.0/QtCore -I../../include/QtCore -I.moc -I../../mkspecs/linux-icc-64 -o .obj/qsslcertificate_openssl.o ssl/qsslcertificate_openssl.cpp
"ssl/qsslcertificate_openssl.cpp": using precompiled header file ".pch/Qt5Network.pchi"
ssl/qsslcertificate_openssl.cpp(69): error: pointer to incomplete class type is not allowed
return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
^
ssl/qsslcertificate_openssl.cpp(93): error: pointer to incomplete class type is not allowed
QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
^
ssl/qsslcertificate_openssl.cpp(102): error: pointer to incomplete class type is not allowed
ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
^
ssl/qsslcertificate_openssl.cpp(238): error: pointer to incomplete class type is not allowed
X509_PUBKEY *xkey = d->x509->cert_info->key;
^
ssl/qsslcertificate_openssl.cpp(242): error: pointer to incomplete class type is not allowed
if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
^
ssl/qsslcertificate_openssl.cpp(246): error: pointer to incomplete class type is not allowed
} else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
^
ssl/qsslcertificate_openssl.cpp(251): error: pointer to incomplete class type is not allowed
} else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) {
^
ssl/qsslcertificate_openssl.cpp(256): error: pointer to incomplete class type is not allowed
} else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
^
compilation aborted for ssl/qsslcertificate_openssl.cpp (code 2)
The text was updated successfully, but these errors were encountered:
There is no official patch for version 5.8.0, but OpenSSL 1.1 is fully supported from Qt 5.10.
In the meantime the workaround on Debian is to install libssl1.0-dev and skip OS dependency checks. Not a clean solution but it puts me back on track.
@vanzod In the long run, we can reconsider our current approach to OpenSSL, and let EasyBuild install it as a dependency rather than relying on the OS.
The support we now have for module wrappers makes this feasible, but of course it'll be important that we're on top of things w.r.t. security updates (and maybe we should make it opt-in)...
Building
Qt5-5.8.0-intel-2017b
on a system with OpenSSL 1.1.0f fails with the following error:The text was updated successfully, but these errors were encountered: