opengisch / OSGeo4A

OSGeo4A is a build environment to cross-compile opensource GIS software for android devices
MIT License
30 stars 22 forks source link

Openssl + crypto #25

Closed PeterPetrik closed 5 years ago

PeterPetrik commented 5 years ago

Uff this was tricky, since it seems that noone tried to build it with crystax. So few functions missing, etc. Managed finally to have something without threading support and without random function (see openssl FAQ for implications).

Tried to ask here, let see https://mta.openssl.org/pipermail/openssl-users/2018-September/008860.html

can be tested with ./distribute -mopenssl -dopenssl

it is not added to QGIS as dependency (as it isn't ?). but maybe it would be worth to add to travis?

related to https://github.com/opengisch/OSGeo4A/issues/13

m-kuhn commented 5 years ago

Nice, thanks! Could it be an indirect dependency of qgis via postgresql? Or what are you linking against it in the end?

Btw, travis is not working anyway, I guess it's just too much for it to handle.

PeterPetrik commented 5 years ago

Hi, @m-kuhn . We plan to link it directly with the main application. Viktor will do some tests with it today/tomorrow to see if it works properly.

m-kuhn commented 5 years ago

Ok. I was hoping you would already link psql against it ;P

m-kuhn commented 5 years ago

openssl builds find, but when building qca after it picks up openssl and fails to build. Any idea what's happening here?

[ 96%] Building CXX object plugins/qca-ossl/CMakeFiles/qca-ossl.dir/qca-ossl.cpp.o
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In function 'QCA::SecureArray opensslQCAPlugin::dsasig_der_to_raw(const QCA::SecureArray&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:130:38: error: invalid use of incomplete type 'DSA_SIG {aka struct DSA_SIG_st}'
  SecureArray part_r = bn2fixedbuf(sig->r, 20);
                                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/x509.h:26:0,
                 from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/dsa.h:65:16: error: forward declaration of 'DSA_SIG {aka struct DSA_SIG_st}'
 typedef struct DSA_SIG_st DSA_SIG;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:131:38: error: invalid use of incomplete type 'DSA_SIG {aka struct DSA_SIG_st}'
  SecureArray part_s = bn2fixedbuf(sig->s, 20);
                                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/x509.h:26:0,
                 from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/dsa.h:65:16: error: forward declaration of 'DSA_SIG {aka struct DSA_SIG_st}'
 typedef struct DSA_SIG_st DSA_SIG;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In function 'QCA::SecureArray opensslQCAPlugin::dsasig_raw_to_der(const QCA::SecureArray&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:150:5: error: invalid use of incomplete type 'DSA_SIG {aka struct DSA_SIG_st}'
  sig->r = BN_bin2bn((const unsigned char *)part_r.data(), part_r.size(), NULL);
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/x509.h:26:0,
                 from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/dsa.h:65:16: error: forward declaration of 'DSA_SIG {aka struct DSA_SIG_st}'
 typedef struct DSA_SIG_st DSA_SIG;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:151:5: error: invalid use of incomplete type 'DSA_SIG {aka struct DSA_SIG_st}'
  sig->s = BN_bin2bn((const unsigned char *)part_s.data(), part_s.size(), NULL);
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/x509.h:26:0,
                 from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/dsa.h:65:16: error: forward declaration of 'DSA_SIG {aka struct DSA_SIG_st}'
 typedef struct DSA_SIG_st DSA_SIG;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In function 'GENERAL_NAME* opensslQCAPlugin::new_general_name(const QCA::CertificateInfoType&, const QString&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:402:46: error: 'M_ASN1_IA5STRING_new' was not declared in this scope
   ASN1_IA5STRING *str = M_ASN1_IA5STRING_new();
                                              ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:414:46: error: 'M_ASN1_IA5STRING_new' was not declared in this scope
   ASN1_IA5STRING *str = M_ASN1_IA5STRING_new();
                                              ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:426:46: error: 'M_ASN1_IA5STRING_new' was not declared in this scope
   ASN1_IA5STRING *str = M_ASN1_IA5STRING_new();
                                              ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In function 'void opensslQCAPlugin::try_get_general_name(GENERAL_NAMES*, const QCA::CertificateInfoType&, QCA::CertificateInfo*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:532:33: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray cs((const char *)ASN1_STRING_data(gn->d.rfc822Name), ASN1_STRING_length(gn->d.rfc822Name));
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:532:66: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray cs((const char *)ASN1_STRING_data(gn->d.rfc822Name), ASN1_STRING_length(gn->d.rfc822Name));
                                                                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:547:33: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray cs((const char *)ASN1_STRING_data(gn->d.uniformResourceIdentifier), ASN1_STRING_length(gn->d.uniformResourceIdentifier));
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:547:81: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray cs((const char *)ASN1_STRING_data(gn->d.uniformResourceIdentifier), ASN1_STRING_length(gn->d.uniformResourceIdentifier));
                                                                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:562:33: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray cs((const char *)ASN1_STRING_data(gn->d.dNSName), ASN1_STRING_length(gn->d.dNSName));
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:562:63: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray cs((const char *)ASN1_STRING_data(gn->d.dNSName), ASN1_STRING_length(gn->d.dNSName));
                                                               ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:578:34: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray buf((const char *)ASN1_STRING_data(str), ASN1_STRING_length(str));
                                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:578:54: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray buf((const char *)ASN1_STRING_data(str), ASN1_STRING_length(str));
                                                      ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:616:34: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray buf((const char *)ASN1_STRING_data(str), ASN1_STRING_length(str));
                                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:616:54: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
     QByteArray buf((const char *)ASN1_STRING_data(str), ASN1_STRING_length(str));
                                                      ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In function 'QByteArray opensslQCAPlugin::get_cert_subject_key_id(X509_EXTENSION*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:870:31: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
  QByteArray out((const char *)ASN1_STRING_data(skid), ASN1_STRING_length(skid));
                               ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:870:52: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
  QByteArray out((const char *)ASN1_STRING_data(skid), ASN1_STRING_length(skid));
                                                    ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In function 'QByteArray opensslQCAPlugin::get_cert_issuer_key_id(X509_EXTENSION*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:882:34: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
   out = QByteArray((const char *)ASN1_STRING_data(akid->keyid), ASN1_STRING_length(akid->keyid));
                                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:882:62: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/asn1.h:554) [-Wdeprecated-declarations]
   out = QByteArray((const char *)ASN1_STRING_data(akid->keyid), ASN1_STRING_length(akid->keyid));
                                                              ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: At global scope:
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1040:13: error: field 'm_context' has incomplete type 'EVP_MD_CTX {aka evp_md_ctx_st}'
  EVP_MD_CTX m_context;
             ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In destructor 'virtual opensslQCAPlugin::opensslHashContext::~opensslHashContext()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1012:32: error: 'EVP_MD_CTX_cleanup' was not declared in this scope
   EVP_MD_CTX_cleanup(&m_context);
                                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::opensslHashContext::clear()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1017:32: error: 'EVP_MD_CTX_cleanup' was not declared in this scope
   EVP_MD_CTX_cleanup(&m_context);
                                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: At global scope:
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1166:13: error: field 'm_context' has incomplete type 'EVP_MD_CTX {aka evp_md_ctx_st}'
  EVP_MD_CTX m_context;
             ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1266:11: error: field 'm_context' has incomplete type 'HMAC_CTX {aka hmac_ctx_st}'
  HMAC_CTX m_context;
           ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In constructor 'opensslQCAPlugin::opensslHMACContext::opensslHMACContext(const EVP_MD*, QCA::Provider*, const QString&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1234:29: error: 'HMAC_CTX_init' was not declared in this scope
   HMAC_CTX_init( &m_context );
                             ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::opensslHMACContext::final(QCA::MemoryRegion*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1256:30: error: 'HMAC_CTX_cleanup' was not declared in this scope
   HMAC_CTX_cleanup(&m_context);
                              ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: At global scope:
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1280:13: error: field 'mdctx' has incomplete type 'EVP_MD_CTX {aka evp_md_ctx_st}'
  EVP_MD_CTX mdctx;
             ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In copy constructor 'opensslQCAPlugin::EVPKey::EVPKey(const opensslQCAPlugin::EVPKey&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1295:19: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
                   ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1295:36: error: 'CRYPTO_LOCK_EVP_PKEY' was not declared in this scope
   CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
                                    ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1295:56: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
                                                        ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'QCA::SecureArray opensslQCAPlugin::EVPKey::endSign()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1376:13: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
     if (pkey->type == EVP_PKEY_RSA)
             ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1379:45: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
            (unsigned char *)out.data(), pkey->pkey.rsa,
                                             ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1386:18: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
     else if (pkey->type == EVP_PKEY_DSA)
                  ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'bool opensslQCAPlugin::EVPKey::endVerify(const QCA::SecureArray&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1421:13: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
     if (pkey->type == EVP_PKEY_RSA) {
             ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1423:49: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
               (unsigned char *)out.data (), pkey->pkey.rsa,
                                                 ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1430:18: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
     else if (pkey->type == EVP_PKEY_DSA)
                  ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In function 'bool opensslQCAPlugin::make_dlgroup(const QByteArray&, int, int, opensslQCAPlugin::DLParams*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1556:13: warning: 'DSA* DSA_generate_parameters(int, unsigned char*, int, int*, long unsigned int*, void (*)(int, int, void*), void*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/dsa.h:117) [-Wdeprecated-declarations]
  DSA *dsa = DSA_generate_parameters(bits, (unsigned char *)seed.data(), seed.size(), &ret_counter, NULL, NULL, NULL);
             ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1556:116: warning: 'DSA* DSA_generate_parameters(int, unsigned char*, int, int*, long unsigned int*, void (*)(int, int, void*), void*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/dsa.h:117) [-Wdeprecated-declarations]
  DSA *dsa = DSA_generate_parameters(bits, (unsigned char *)seed.data(), seed.size(), &ret_counter, NULL, NULL, NULL);
                                                                                                                    ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1561:23: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
  params->p = bn2bi(dsa->p);
                       ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1562:23: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
  params->q = bn2bi(dsa->q);
                       ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1563:23: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
  params->g = bn2bi(dsa->g);
                       ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::RSAKeyMaker::run()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1754:14: warning: 'RSA* RSA_generate_key(int, long unsigned int, void (*)(int, int, void*), void*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/rsa.h:234) [-Wdeprecated-declarations]
   RSA *rsa = RSA_generate_key(bits, exp, NULL, NULL);
              ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1754:52: warning: 'RSA* RSA_generate_key(int, long unsigned int, void (*)(int, int, void*), void*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/rsa.h:234) [-Wdeprecated-declarations]
   RSA *rsa = RSA_generate_key(bits, exp, NULL, NULL);
                                                    ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::RSAKey::convertToPublic()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1825:38: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   int len = i2d_RSAPublicKey(evp.pkey->pkey.rsa, NULL);
                                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1828:28: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   i2d_RSAPublicKey(evp.pkey->pkey.rsa, &p);
                            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual int opensslQCAPlugin::RSAKey::maximumEncryptSize(QCA::EncryptionAlgorithm) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1851:22: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   RSA *rsa = evp.pkey->pkey.rsa;
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::SecureArray opensslQCAPlugin::RSAKey::encrypt(const QCA::SecureArray&, QCA::EncryptionAlgorithm)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1866:22: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   RSA *rsa = evp.pkey->pkey.rsa;
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual bool opensslQCAPlugin::RSAKey::decrypt(const QCA::SecureArray&, QCA::SecureArray*, QCA::EncryptionAlgorithm)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:1899:22: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   RSA *rsa = evp.pkey->pkey.rsa;
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::RSAKey::createPrivate(const QCA::BigInteger&, const QCA::BigInteger&, const QCA::BigInteger&, const QCA::BigInteger&, const QCA::BigInteger&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2020:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->n = bi2bn(n);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2021:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->e = bi2bn(e);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2022:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->p = bi2bn(p);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2023:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->q = bi2bn(q);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2024:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->d = bi2bn(d);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2026:10: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(!rsa->n || !rsa->e || !rsa->p || !rsa->q || !rsa->d)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2026:21: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(!rsa->n || !rsa->e || !rsa->p || !rsa->q || !rsa->d)
                     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2026:32: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(!rsa->n || !rsa->e || !rsa->p || !rsa->q || !rsa->d)
                                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2026:43: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(!rsa->n || !rsa->e || !rsa->p || !rsa->q || !rsa->d)
                                           ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2026:54: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(!rsa->n || !rsa->e || !rsa->p || !rsa->q || !rsa->d)
                                                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2035:20: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(BN_is_zero(rsa->e) || BN_is_zero(rsa->d))
                    ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2035:42: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(BN_is_zero(rsa->e) || BN_is_zero(rsa->d))
                                          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::RSAKey::createPublic(const QCA::BigInteger&, const QCA::BigInteger&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2048:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->n = bi2bn(n);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2049:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->e = bi2bn(e);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2051:10: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(!rsa->n || !rsa->e)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2051:21: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   if(!rsa->n || !rsa->e)
                     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::RSAKey::n() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2064:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.rsa->n);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::RSAKey::e() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2069:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.rsa->e);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::RSAKey::p() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2074:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.rsa->p);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::RSAKey::q() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2079:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.rsa->q);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::RSAKey::d() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2084:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.rsa->d);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DSAKeyMaker::run()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2133:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->p = bi2bn(domain.p());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2134:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->q = bi2bn(domain.q());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2135:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->g = bi2bn(domain.g());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DSAKey::convertToPublic()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2211:38: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   int len = i2d_DSAPublicKey(evp.pkey->pkey.dsa, NULL);
                                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2214:28: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   i2d_DSAPublicKey(evp.pkey->pkey.dsa, &p);
                            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DSAKey::startSign(QCA::SignatureAlgorithm, QCA::SignatureFormat)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2243:26: error: 'EVP_dss1' was not declared in this scope
   evp.startSign(EVP_dss1());
                          ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DSAKey::startVerify(QCA::SignatureAlgorithm, QCA::SignatureFormat)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2254:28: error: 'EVP_dss1' was not declared in this scope
   evp.startVerify(EVP_dss1());
                            ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DSAKey::createPrivate(const QCA::DLGroup&, const QCA::BigInteger&, const QCA::BigInteger&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2304:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->p = bi2bn(domain.p());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2305:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->q = bi2bn(domain.q());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2306:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->g = bi2bn(domain.g());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2307:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->pub_key = bi2bn(y);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2308:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->priv_key = bi2bn(x);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2310:10: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key || !dsa->priv_key)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2310:21: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key || !dsa->priv_key)
                     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2310:32: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key || !dsa->priv_key)
                                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2310:43: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key || !dsa->priv_key)
                                           ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2310:60: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key || !dsa->priv_key)
                                                            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DSAKey::createPublic(const QCA::DLGroup&, const QCA::BigInteger&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2326:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->p = bi2bn(domain.p());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2327:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->q = bi2bn(domain.q());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2328:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->g = bi2bn(domain.g());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2329:6: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   dsa->pub_key = bi2bn(y);
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2331:10: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2331:21: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key)
                     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2331:32: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key)
                                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2331:43: error: invalid use of incomplete type 'DSA {aka struct dsa_st}'
   if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key)
                                           ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:107:16: error: forward declaration of 'DSA {aka struct dsa_st}'
 typedef struct dsa_st DSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::DLGroup opensslQCAPlugin::DSAKey::domain() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2344:32: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return DLGroup(bn2bi(evp.pkey->pkey.dsa->p), bn2bi(evp.pkey->pkey.dsa->q), bn2bi(evp.pkey->pkey.dsa->g));
                                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2344:62: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return DLGroup(bn2bi(evp.pkey->pkey.dsa->p), bn2bi(evp.pkey->pkey.dsa->q), bn2bi(evp.pkey->pkey.dsa->g));
                                                              ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2344:92: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return DLGroup(bn2bi(evp.pkey->pkey.dsa->p), bn2bi(evp.pkey->pkey.dsa->q), bn2bi(evp.pkey->pkey.dsa->g));
                                                                                            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::DSAKey::y() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2349:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.dsa->pub_key);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::DSAKey::x() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2354:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.dsa->priv_key);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DHKeyMaker::run()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2403:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->p = bi2bn(domain.p());
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2404:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->g = bi2bn(domain.g());
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DHKey::convertToPublic()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2477:22: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   DH *orig = evp.pkey->pkey.dh;
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2479:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->p = BN_dup(orig->p);
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2479:22: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->p = BN_dup(orig->p);
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2480:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->g = BN_dup(orig->g);
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2480:22: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->g = BN_dup(orig->g);
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2481:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->pub_key = BN_dup(orig->pub_key);
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2481:28: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->pub_key = BN_dup(orig->pub_key);
                            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::SymmetricKey opensslQCAPlugin::DHKey::deriveKey(const QCA::PKeyBase&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2497:20: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   DH *dh = evp.pkey->pkey.dh;
                    ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2498:59: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   DH *them = static_cast<const DHKey *>(&theirs)->evp.pkey->pkey.dh;
                                                           ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2500:64: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   int ret = DH_compute_key((unsigned char *)result.data(), them->pub_key, dh);
                                                                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DHKey::createPrivate(const QCA::DLGroup&, const QCA::BigInteger&, const QCA::BigInteger&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2530:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->p = bi2bn(domain.p());
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2531:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->g = bi2bn(domain.g());
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2532:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->pub_key = bi2bn(y);
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2533:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->priv_key = bi2bn(x);
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2535:9: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   if(!dh->p || !dh->g || !dh->pub_key || !dh->priv_key)
         ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2535:19: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   if(!dh->p || !dh->g || !dh->pub_key || !dh->priv_key)
                   ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2535:29: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   if(!dh->p || !dh->g || !dh->pub_key || !dh->priv_key)
                             ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2535:45: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   if(!dh->p || !dh->g || !dh->pub_key || !dh->priv_key)
                                             ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::DHKey::createPublic(const QCA::DLGroup&, const QCA::BigInteger&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2551:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->p = bi2bn(domain.p());
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2552:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->g = bi2bn(domain.g());
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2553:5: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   dh->pub_key = bi2bn(y);
     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2555:9: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   if(!dh->p || !dh->g || !dh->pub_key)
         ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2555:19: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   if(!dh->p || !dh->g || !dh->pub_key)
                   ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2555:29: error: invalid use of incomplete type 'DH {aka struct dh_st}'
   if(!dh->p || !dh->g || !dh->pub_key)
                             ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:104:16: error: forward declaration of 'DH {aka struct dh_st}'
 typedef struct dh_st DH;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::DLGroup opensslQCAPlugin::DHKey::domain() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2568:32: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return DLGroup(bn2bi(evp.pkey->pkey.dh->p), bn2bi(evp.pkey->pkey.dh->g));
                                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2568:61: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return DLGroup(bn2bi(evp.pkey->pkey.dh->p), bn2bi(evp.pkey->pkey.dh->g));
                                                             ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::DHKey::y() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2573:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.dh->pub_key);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::BigInteger opensslQCAPlugin::DHKey::x() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2578:24: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   return bn2bi(evp.pkey->pkey.dh->priv_key);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In constructor 'opensslQCAPlugin::QCA_RSA_METHOD::QCA_RSA_METHOD(QCA::RSAPrivateKey, RSA*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2617:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->flags |= RSA_FLAG_SIGN_VER;
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2617:17: error: 'RSA_FLAG_SIGN_VER' was not declared in this scope
   rsa->flags |= RSA_FLAG_SIGN_VER;
                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2619:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->n = bi2bn(_key.n());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2620:6: error: invalid use of incomplete type 'RSA {aka struct rsa_st}'
   rsa->e = bi2bn(_key.e());
      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:110:16: error: forward declaration of 'RSA {aka struct rsa_st}'
 typedef struct rsa_st RSA;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'RSA_METHOD* opensslQCAPlugin::QCA_RSA_METHOD::rsa_method()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2629:50: error: invalid use of incomplete type 'RSA_METHOD {aka struct rsa_meth_st}'
    ops = new RSA_METHOD(*RSA_get_default_method());
                                                  ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:111:16: error: forward declaration of 'RSA_METHOD {aka struct rsa_meth_st}'
 typedef struct rsa_meth_st RSA_METHOD;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2630:7: error: invalid use of incomplete type 'RSA_METHOD {aka struct rsa_meth_st}'
    ops->rsa_priv_enc = 0;//pkcs11_rsa_encrypt;
       ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:111:16: error: forward declaration of 'RSA_METHOD {aka struct rsa_meth_st}'
 typedef struct rsa_meth_st RSA_METHOD;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2631:7: error: invalid use of incomplete type 'RSA_METHOD {aka struct rsa_meth_st}'
    ops->rsa_priv_dec = rsa_priv_dec;
       ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:111:16: error: forward declaration of 'RSA_METHOD {aka struct rsa_meth_st}'
 typedef struct rsa_meth_st RSA_METHOD;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2632:7: error: invalid use of incomplete type 'RSA_METHOD {aka struct rsa_meth_st}'
    ops->rsa_sign = rsa_sign;
       ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:111:16: error: forward declaration of 'RSA_METHOD {aka struct rsa_meth_st}'
 typedef struct rsa_meth_st RSA_METHOD;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2633:7: error: invalid use of incomplete type 'RSA_METHOD {aka struct rsa_meth_st}'
    ops->rsa_verify = 0;//pkcs11_rsa_verify;
       ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:111:16: error: forward declaration of 'RSA_METHOD {aka struct rsa_meth_st}'
 typedef struct rsa_meth_st RSA_METHOD;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2634:7: error: invalid use of incomplete type 'RSA_METHOD {aka struct rsa_meth_st}'
    ops->finish = rsa_finish;
       ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:111:16: error: forward declaration of 'RSA_METHOD {aka struct rsa_meth_st}'
 typedef struct rsa_meth_st RSA_METHOD;
                ^
In file included from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:36:0:
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In static member function 'static int opensslQCAPlugin::QCA_RSA_METHOD::rsa_priv_dec(int, const unsigned char*, unsigned char*, RSA*, int)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2653:11: error: 'RSA_F_RSA_EAY_PRIVATE_DECRYPT' was not declared in this scope
    RSAerr(RSA_F_RSA_EAY_PRIVATE_DECRYPT, RSA_R_UNKNOWN_PADDING_TYPE);
           ^
/usr/src/stage/armeabi-v7a/include/openssl/err.h:29:59: note: in definition of macro 'ERR_PUT_error'
 #  define ERR_PUT_error(a,b,c,d,e)        ERR_put_error(a,b,c,d,e)
                                                           ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2653:4: note: in expansion of macro 'RSAerr'
    RSAerr(RSA_F_RSA_EAY_PRIVATE_DECRYPT, RSA_R_UNKNOWN_PADDING_TYPE);
    ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In static member function 'static int opensslQCAPlugin::QCA_RSA_METHOD::rsa_sign(int, const unsigned char*, unsigned int, unsigned char*, unsigned int*, const RSA*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2692:13: error: aggregate 'X509_SIG sig' has incomplete type and cannot be defined
    X509_SIG sig;
             ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'QCA::PKeyBase* opensslQCAPlugin::MyPKeyContext::pkeyToBase(EVP_PKEY*, bool) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2865:10: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   if(pkey->type == EVP_PKEY_RSA)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2872:15: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   else if(pkey->type == EVP_PKEY_DSA)
               ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2879:15: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   else if(pkey->type == EVP_PKEY_DH)
               ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QByteArray opensslQCAPlugin::MyPKeyContext::publicToDER() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2898:10: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   if(pkey->type == EVP_PKEY_DH)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QString opensslQCAPlugin::MyPKeyContext::publicToPEM() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2912:10: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   if(pkey->type == EVP_PKEY_DH)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::SecureArray opensslQCAPlugin::MyPKeyContext::privateToDER(const QCA::SecureArray&, QCA::PBEAlgorithm) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:2979:10: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   if(pkey->type == EVP_PKEY_DH)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QString opensslQCAPlugin::MyPKeyContext::privateToPEM(const QCA::SecureArray&, QCA::PBEAlgorithm) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3008:10: error: invalid use of incomplete type 'EVP_PKEY {aka struct evp_pkey_st}'
   if(pkey->type == EVP_PKEY_DH)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:93:16: error: forward declaration of 'EVP_PKEY {aka struct evp_pkey_st}'
 typedef struct evp_pkey_st EVP_PKEY;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'opensslQCAPlugin::X509Item& opensslQCAPlugin::X509Item::operator=(const opensslQCAPlugin::X509Item&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3109:21: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
     CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509);
                     ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3109:38: error: 'CRYPTO_LOCK_X509' was not declared in this scope
     CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509);
                                      ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3109:54: error: 'CRYPTO_add' was not declared in this scope
     CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509);
                                                      ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3111:20: error: invalid use of incomplete type 'X509_REQ {aka struct X509_req_st}'
     CRYPTO_add(&req->references, 1, CRYPTO_LOCK_X509_REQ);
                    ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/x509.h:93:16: error: forward declaration of 'X509_REQ {aka struct X509_req_st}'
 typedef struct X509_req_st X509_REQ;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3111:37: error: 'CRYPTO_LOCK_X509_REQ' was not declared in this scope
     CRYPTO_add(&req->references, 1, CRYPTO_LOCK_X509_REQ);
                                     ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3111:57: error: 'CRYPTO_add' was not declared in this scope
     CRYPTO_add(&req->references, 1, CRYPTO_LOCK_X509_REQ);
                                                         ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3113:20: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
                    ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3113:37: error: 'CRYPTO_LOCK_X509_CRL' was not declared in this scope
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
                                     ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3113:57: error: 'CRYPTO_add' was not declared in this scope
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
                                                         ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'void opensslQCAPlugin::MyCertContext::fromX509(X509*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3317:16: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3317:33: error: 'CRYPTO_LOCK_X509' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3317:49: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual bool opensslQCAPlugin::MyCertContext::createSelfSigned(const QCA::CertificateOptions&, const QCA::PKeyContext&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3348:18: error: 'EVP_dss1' was not declared in this scope
    md = EVP_dss1();
                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual bool opensslQCAPlugin::MyCertContext::isIssuerOf(const QCA::CertContext*) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3479:16: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3479:33: error: 'CRYPTO_LOCK_X509' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3479:49: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'void opensslQCAPlugin::MyCertContext::make_props()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3594:8: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
   if (x->signature)
        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3596:24: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
    p.sig = QByteArray(x->signature->length, 0);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3597:22: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
    for (int i=0; i< x->signature->length; i++)
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3598:17: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
     p.sig[i] = x->signature->data[i];
                 ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3601:24: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
   switch( OBJ_obj2nid(x->cert_info->signature->algorithm) )
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3633:60: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
    qDebug() << "Unknown signature value: " << OBJ_obj2nid(x->cert_info->signature->algorithm);
                                                            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::CertContext* opensslQCAPlugin::MyCAContext::signRequest(const QCA::CSRContext&, const QDateTime&) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3750:18: error: 'EVP_dss1' was not declared in this scope
    md = EVP_dss1();
                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual bool opensslQCAPlugin::MyCSRContext::createRequest(const QCA::CertificateOptions&, const QCA::PKeyContext&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:3933:18: error: 'EVP_dss1' was not declared in this scope
    md = EVP_dss1();
                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'void opensslQCAPlugin::MyCSRContext::make_props()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4094:8: error: invalid use of incomplete type 'X509_REQ {aka struct X509_req_st}'
   if (x->signature)
        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/x509.h:93:16: error: forward declaration of 'X509_REQ {aka struct X509_req_st}'
 typedef struct X509_req_st X509_REQ;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4096:24: error: invalid use of incomplete type 'X509_REQ {aka struct X509_req_st}'
    p.sig = QByteArray(x->signature->length, 0);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/x509.h:93:16: error: forward declaration of 'X509_REQ {aka struct X509_req_st}'
 typedef struct X509_req_st X509_REQ;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4097:22: error: invalid use of incomplete type 'X509_REQ {aka struct X509_req_st}'
    for (int i=0; i< x->signature->length; i++)
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/x509.h:93:16: error: forward declaration of 'X509_REQ {aka struct X509_req_st}'
 typedef struct X509_req_st X509_REQ;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4098:17: error: invalid use of incomplete type 'X509_REQ {aka struct X509_req_st}'
     p.sig[i] = x->signature->data[i];
                 ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/x509.h:93:16: error: forward declaration of 'X509_REQ {aka struct X509_req_st}'
 typedef struct X509_req_st X509_REQ;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4101:24: error: invalid use of incomplete type 'X509_REQ {aka struct X509_req_st}'
   switch( OBJ_obj2nid(x->sig_alg->algorithm) )
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/x509.h:93:16: error: forward declaration of 'X509_REQ {aka struct X509_req_st}'
 typedef struct X509_req_st X509_REQ;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4121:60: error: invalid use of incomplete type 'X509_REQ {aka struct X509_req_st}'
    qDebug() << "Unknown signature value: " << OBJ_obj2nid(x->sig_alg->algorithm);
                                                            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/pem.h:17:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:35:
/usr/src/stage/armeabi-v7a/include/openssl/x509.h:93:16: error: forward declaration of 'X509_REQ {aka struct X509_req_st}'
 typedef struct X509_req_st X509_REQ;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'void opensslQCAPlugin::MyCRLContext::fromX509(X509_CRL*)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4185:16: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4185:33: error: 'CRYPTO_LOCK_X509_CRL' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4185:53: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                                                     ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'void opensslQCAPlugin::MyCRLContext::make_props()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4230:41: warning: 'ASN1_TIME* X509_CRL_get_lastUpdate(X509_CRL*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/x509.h:727) [-Wdeprecated-declarations]
   p.thisUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get_lastUpdate(x), NULL);
                                         ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4230:66: warning: 'ASN1_TIME* X509_CRL_get_lastUpdate(X509_CRL*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/x509.h:727) [-Wdeprecated-declarations]
   p.thisUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get_lastUpdate(x), NULL);
                                                                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4231:41: warning: 'ASN1_TIME* X509_CRL_get_nextUpdate(X509_CRL*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/x509.h:728) [-Wdeprecated-declarations]
   p.nextUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get_nextUpdate(x), NULL);
                                         ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4231:66: warning: 'ASN1_TIME* X509_CRL_get_nextUpdate(X509_CRL*)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/x509.h:728) [-Wdeprecated-declarations]
   p.nextUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get_nextUpdate(x), NULL);
                                                                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4237:52: error: invalid use of incomplete type 'X509_REVOKED {aka struct x509_revoked_st}'
    BigInteger serial = bn2bi(ASN1_INTEGER_to_BN(rev->serialNumber, NULL));
                                                    ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:124:16: error: forward declaration of 'X509_REVOKED {aka struct x509_revoked_st}'
 typedef struct x509_revoked_st X509_REVOKED;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4238:48: error: invalid use of incomplete type 'X509_REVOKED {aka struct x509_revoked_st}'
    QDateTime time = ASN1_UTCTIME_QDateTime( rev->revocationDate, NULL);
                                                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:124:16: error: forward declaration of 'X509_REVOKED {aka struct x509_revoked_st}'
 typedef struct x509_revoked_st X509_REVOKED;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4287:8: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
   if (x->signature)
        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4289:24: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
    p.sig = QByteArray(x->signature->length, 0);
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4290:22: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
    for (int i=0; i< x->signature->length; i++)
                      ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4291:17: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
     p.sig[i] = x->signature->data[i];
                 ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4293:24: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
   switch( OBJ_obj2nid(x->sig_alg->algorithm) )
                        ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4325:62: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
    qWarning() << "Unknown signature value: " << OBJ_obj2nid(x->sig_alg->algorithm);
                                                              ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::Validity opensslQCAPlugin::MyCertContext::validate(const QList<QCA::CertContext*>&, const QList<QCA::CertContext*>&, const QList<QCA::CRLContext*>&, QCA::UsageMode, QCA::ValidateFlags) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4486:16: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4486:33: error: 'CRYPTO_LOCK_X509' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4486:49: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4493:16: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4493:33: error: 'CRYPTO_LOCK_X509' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4493:49: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4500:16: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4500:33: error: 'CRYPTO_LOCK_X509_CRL' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4500:53: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                                                     ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4525:12: error: invalid use of incomplete type 'X509_STORE_CTX {aka struct x509_store_ctx_st}'
   err = ctx->error;
            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:128:16: error: forward declaration of 'X509_STORE_CTX {aka struct x509_store_ctx_st}'
 typedef struct x509_store_ctx_st X509_STORE_CTX;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::Validity opensslQCAPlugin::MyCertContext::validate_chain(const QList<QCA::CertContext*>&, const QList<QCA::CertContext*>&, const QList<QCA::CRLContext*>&, QCA::UsageMode, QCA::ValidateFlags) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4559:16: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4559:33: error: 'CRYPTO_LOCK_X509' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4559:49: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4566:16: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4566:33: error: 'CRYPTO_LOCK_X509' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4566:49: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4573:16: error: invalid use of incomplete type 'X509_CRL {aka struct X509_crl_st}'
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:122:16: error: forward declaration of 'X509_CRL {aka struct X509_crl_st}'
 typedef struct X509_crl_st X509_CRL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4573:33: error: 'CRYPTO_LOCK_X509_CRL' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4573:53: error: 'CRYPTO_add' was not declared in this scope
   CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
                                                     ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4598:12: error: invalid use of incomplete type 'X509_STORE_CTX {aka struct x509_store_ctx_st}'
   err = ctx->error;
            ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:128:16: error: forward declaration of 'X509_STORE_CTX {aka struct x509_store_ctx_st}'
 typedef struct x509_store_ctx_st X509_STORE_CTX;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QByteArray opensslQCAPlugin::MyPKCS12Context::toPKCS12(const QString&, const QList<const QCA::CertContext*>&, const QCA::PKeyContext&, const QCA::SecureArray&) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4662:18: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                  ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4662:35: error: 'CRYPTO_LOCK_X509' was not declared in this scope
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                   ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:4662:51: error: 'CRYPTO_add' was not declared in this scope
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                   ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QStringList opensslQCAPlugin::MyTLSContext::supportedCipherSuites(const QCA::TLS::Version&) const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5399:42: error: 'SSLv2_client_method' was not declared in this scope
    ctx = SSL_CTX_new(SSLv2_client_method());
                                          ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5403:42: error: 'SSLv3_client_method' was not declared in this scope
    ctx = SSL_CTX_new(SSLv3_client_method());
                                          ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5406:22: warning: 'const SSL_METHOD* TLSv1_client_method()' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/ssl.h:1854) [-Wdeprecated-declarations]
    ctx = SSL_CTX_new(TLSv1_client_method());
                      ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5406:42: warning: 'const SSL_METHOD* TLSv1_client_method()' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/ssl.h:1854) [-Wdeprecated-declarations]
    ctx = SSL_CTX_new(TLSv1_client_method());
                                          ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5426:54: error: invalid conversion from 'const SSL_CIPHER* {aka const ssl_cipher_st*}' to 'SSL_CIPHER* {aka ssl_cipher_st*}' [-fpermissive]
    SSL_CIPHER *thisCipher = sk_SSL_CIPHER_value(sk, i);
                                                      ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5427:54: error: invalid use of incomplete type 'SSL_CIPHER {aka struct ssl_cipher_st}'
    cipherList += cipherIDtoString(version, thisCipher->id);
                                                      ^
In file included from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:39:0:
/usr/src/stage/armeabi-v7a/include/openssl/ssl.h:212:16: error: forward declaration of 'SSL_CIPHER {aka struct ssl_cipher_st}'
 typedef struct ssl_cipher_st SSL_CIPHER;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::TLSContext::SessionInfo opensslQCAPlugin::MyTLSContext::sessionInfo() const':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5804:36: error: invalid use of incomplete type 'SSL {aka struct ssl_st}'
   sessInfo.isCompressed = (0 != ssl->session->compress_meth);
                                    ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:147:16: error: forward declaration of 'SSL {aka struct ssl_st}'
 typedef struct ssl_st SSL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5806:10: error: invalid use of incomplete type 'SSL {aka struct ssl_st}'
   if (ssl->version == TLS1_VERSION)
          ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:147:16: error: forward declaration of 'SSL {aka struct ssl_st}'
 typedef struct ssl_st SSL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5808:15: error: invalid use of incomplete type 'SSL {aka struct ssl_st}'
   else if (ssl->version == SSL3_VERSION)
               ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:147:16: error: forward declaration of 'SSL {aka struct ssl_st}'
 typedef struct ssl_st SSL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5810:15: error: invalid use of incomplete type 'SSL {aka struct ssl_st}'
   else if (ssl->version == SSL2_VERSION)
               ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:147:16: error: forward declaration of 'SSL {aka struct ssl_st}'
 typedef struct ssl_st SSL;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:5818:41: error: invalid use of incomplete type 'const SSL_CIPHER {aka const struct ssl_cipher_st}'
              SSL_get_current_cipher(ssl)->id);
                                         ^
In file included from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:39:0:
/usr/src/stage/armeabi-v7a/include/openssl/ssl.h:212:16: error: forward declaration of 'const SSL_CIPHER {aka const struct ssl_cipher_st}'
 typedef struct ssl_cipher_st SSL_CIPHER;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual void opensslQCAPlugin::MyMessageContext::end()':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6390:18: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                  ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6390:35: error: 'CRYPTO_LOCK_X509' was not declared in this scope
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                   ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6390:51: error: 'CRYPTO_add' was not declared in this scope
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                   ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6432:17: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
    CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                 ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6432:34: error: 'CRYPTO_LOCK_X509' was not declared in this scope
    CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6432:50: error: 'CRYPTO_add' was not declared in this scope
    CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                  ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6495:18: error: invalid use of incomplete type 'X509 {aka struct x509_st}'
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                  ^
In file included from /usr/src/stage/armeabi-v7a/include/openssl/evp.h:14:0,
                 from /usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:27:
/usr/src/stage/armeabi-v7a/include/openssl/ossl_typ.h:120:16: error: forward declaration of 'X509 {aka struct x509_st}'
 typedef struct x509_st X509;
                ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6495:35: error: 'CRYPTO_LOCK_X509' was not declared in this scope
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                   ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6495:51: error: 'CRYPTO_add' was not declared in this scope
     CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
                                                   ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: At global scope:
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:6868:17: error: field 'm_context' has incomplete type 'EVP_CIPHER_CTX {aka evp_cipher_ctx_st}'
  EVP_CIPHER_CTX m_context;
                 ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::SecureArray opensslQCAPlugin::opensslRandomContext::nextBytes(int)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:7024:8: warning: 'int RAND_pseudo_bytes(unsigned char*, int)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/rand.h:44) [-Wdeprecated-declarations]
    r = RAND_pseudo_bytes((unsigned char*)(buf.data()),
        ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:7025:15: warning: 'int RAND_pseudo_bytes(unsigned char*, int)' is deprecated (declared at /usr/src/stage/armeabi-v7a/include/openssl/rand.h:44) [-Wdeprecated-declarations]
           size);
               ^
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp: In member function 'virtual QCA::Provider::Context* opensslProvider::createContext(const QString&)':
/usr/src/build/qca/v2.1.0/plugins/qca-ossl/qca-ossl.cpp:7133:43: error: 'EVP_sha' was not declared in this scope
    return new opensslHashContext( EVP_sha(), this, type);
                                           ^
plugins/qca-ossl/CMakeFiles/qca-ossl.dir/build.make:66: recipe for target 'plugins/qca-ossl/CMakeFiles/qca-ossl.dir/qca-ossl.cpp.o' failed
make[2]: *** [plugins/qca-ossl/CMakeFiles/qca-ossl.dir/qca-ossl.cpp.o] Error 1
CMakeFiles/Makefile2:372: recipe for target 'plugins/qca-ossl/CMakeFiles/qca-ossl.dir/all' failed
make[1]: *** [plugins/qca-ossl/CMakeFiles/qca-ossl.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
The command '/bin/sh -c /usr/src/distribute.sh -m qgis && mv /usr/src/stage /home/osgeo4a && rm -rf /usr/src' returned a non-zero code: 255
PeterPetrik commented 5 years ago

@m-kuhn no idea

PeterPetrik commented 5 years ago

@m-kuhn looks like qca is not ported for usage with openssl 1.1.x which has some API changes

we need to use 1.0.2p instead to be able to build qca. https://github.com/openssl/openssl/releases/tag/OpenSSL_1_0_2p

so various libraries moved to support openssl 1.1.x. Unfortunately it seems qca do not have such attention.