-
Notifications
You must be signed in to change notification settings - Fork 25
Closed
Description
Greetings.
I've tried to compile this code on:
- Ubuntu 19.10
- Manjaro recent 18.1.4
The error I got everywhere is:
ssl/qsslcertificate_openssl.cpp: In function ‘uint qHash(const QSslCertificate&, uint)’:
ssl/qsslcertificate_openssl.cpp:63:30: error: invalid use of incomplete type ‘X509’ {aka ‘struct x509_st’}
return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
^~
In file included from /usr/include/openssl/crypto.h:25,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:17,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:120:16: note: forward declaration of ‘X509’ {aka ‘struct x509_st’}
typedef struct x509_st X509;
^~~~~~~
ssl/qsslcertificate_openssl.cpp: In member function ‘QByteArray QSslCertificate::version() const’:
ssl/qsslcertificate_openssl.cpp:87:68: error: invalid use of incomplete type ‘X509’ {aka ‘struct x509_st’}
QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
^~
In file included from /usr/include/openssl/crypto.h:25,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:17,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:120:16: note: forward declaration of ‘X509’ {aka ‘struct x509_st’}
typedef struct x509_st X509;
^~~~~~~
ssl/qsslcertificate_openssl.cpp: In member function ‘QByteArray QSslCertificate::serialNumber() const’:
ssl/qsslcertificate_openssl.cpp:96:45: error: invalid use of incomplete type ‘X509’ {aka ‘struct x509_st’}
ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
^~
In file included from /usr/include/openssl/crypto.h:25,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:17,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:120:16: note: forward declaration of ‘X509’ {aka ‘struct x509_st’}
typedef struct x509_st X509;
^~~~~~~
ssl/qsslcertificate_openssl.cpp: In member function ‘QSslKey QSslCertificate::publicKey() const’:
ssl/qsslcertificate_openssl.cpp:232:32: error: invalid use of incomplete type ‘X509’ {aka ‘struct x509_st’}
X509_PUBKEY *xkey = d->x509->cert_info->key;
^~
In file included from /usr/include/openssl/crypto.h:25,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:17,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:120:16: note: forward declaration of ‘X509’ {aka ‘struct x509_st’}
typedef struct x509_st X509;
^~~~~~~
ssl/qsslcertificate_openssl.cpp:236:29: error: invalid use of incomplete type ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
^~
In file included from /usr/include/openssl/crypto.h:25,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:17,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
typedef struct evp_pkey_st EVP_PKEY;
^~~~~~~~~~~
ssl/qsslcertificate_openssl.cpp:240:36: error: invalid use of incomplete type ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
} else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
^~
In file included from /usr/include/openssl/crypto.h:25,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:17,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
typedef struct evp_pkey_st EVP_PKEY;
^~~~~~~~~~~
ssl/qsslcertificate_openssl.cpp:245:36: error: invalid use of incomplete type ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
} else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) {
^~
In file included from /usr/include/openssl/crypto.h:25,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:17,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
typedef struct evp_pkey_st EVP_PKEY;
^~~~~~~~~~~
ssl/qsslcertificate_openssl.cpp:250:36: error: invalid use of incomplete type ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
} else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
^~
In file included from /usr/include/openssl/crypto.h:25,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:17,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/../../../../../src/network/ssl/qsslcontext_openssl_p.h:53,
from ../../include/QtNetwork/5.6.2/QtNetwork/private/qsslcontext_openssl_p.h:1,
from ssl/qsslsocket_p.h:55,
from ssl/qsslsocket_openssl_p.h:63,
from ssl/qsslsocket_openssl_symbols_p.h:64,
from ssl/qsslcertificate_openssl.cpp:35:
/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
typedef struct evp_pkey_st EVP_PKEY;
^~~~~~~~~~~
make[3]: *** [Makefile:22107: .obj/qsslcertificate_openssl.o] Error 1
make[3]: Leaving directory '/home/sb/Libraries/qt5_6_2/qtbase/src/network'
make[2]: *** [Makefile:244: sub-network-make_first] Error 2
make[2]: Leaving directory '/home/sb/Libraries/qt5_6_2/qtbase/src'
make[1]: *** [Makefile:46: sub-src-make_first] Error 2
make[1]: Leaving directory '/home/sb/Libraries/qt5_6_2/qtbase'
make: *** [Makefile:44: module-qtbase-make_first] Error 2
Any clues? Should I try to compile this on Ubuntu 14.04 in docker?
Thanks.
Kwaskoff
Metadata
Metadata
Assignees
Labels
No labels