Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. 3rd Party Software
  4. qtopcua 5.14 openssl errors after uptate
Forum Updated to NodeBB v4.3 + New Features

qtopcua 5.14 openssl errors after uptate

Scheduled Pinned Locked Moved Unsolved 3rd Party Software
9 Posts 3 Posters 1.5k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    PawelW
    wrote on last edited by
    #1

    Hello,

    I'm currently using module "qtopcua" in version 5.12. After update to version 5.14 there is a lot of openssl errors when I'm trying to build module. Could somebody, please give a hint what's happening?

    In file included from C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\openssl_symbols_p.h:248:0,
                     from C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qopcuax509certificatesigningrequest.cpp:38:
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:89:40: error: 'OPENSSL_STACK' was not declared in this scope
     Q_AUTOTEST_EXPORT int q_OPENSSL_sk_num(OPENSSL_STACK *a);
                                            ^~~~~~~~~~~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:89:40: note: suggested alternative: 'OPENSSL_BLOCK'
     Q_AUTOTEST_EXPORT int q_OPENSSL_sk_num(OPENSSL_STACK *a);
                                            ^~~~~~~~~~~~~
                                            OPENSSL_BLOCK
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:89:55: error: 'a' was not declared in this scope
     Q_AUTOTEST_EXPORT int q_OPENSSL_sk_num(OPENSSL_STACK *a);
                                                           ^
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:90:46: error: variable or field 'q_OPENSSL_sk_pop_free' declared void
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                                  ^~~~~~~~~~~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:90:46: error: 'OPENSSL_STACK' was not declared in this scope
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:90:46: note: suggested alternative: 'OPENSSL_BLOCK'
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                                  ^~~~~~~~~~~~~
                                                  OPENSSL_BLOCK
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:90:61: error: 'a' was not declared in this scope
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                                                 ^
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:90:71: error: 'b' was not declared in this scope
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                                                           ^
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:90:74: error: expected primary-expression before 'void'
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                                                              ^~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:91:19: error: 'OPENSSL_STACK' does not name a type; did you mean 'OPENSSL_BLOCK'?
     Q_AUTOTEST_EXPORT OPENSSL_STACK *q_OPENSSL_sk_new_null();
                       ^~~~~~~~~~~~~
                       OPENSSL_BLOCK
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:92:42: error: variable or field 'q_OPENSSL_sk_push' declared void
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
                                              ^~~~~~~~~~~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:92:42: error: 'OPENSSL_STACK' was not declared in this scope
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:92:42: note: suggested alternative: 'OPENSSL_BLOCK'
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
                                              ^~~~~~~~~~~~~
                                              OPENSSL_BLOCK
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:92:57: error: 'st' was not declared in this scope
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
                                                             ^~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:92:61: error: expected primary-expression before 'void'
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
                                                                 ^~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:93:42: error: variable or field 'q_OPENSSL_sk_free' declared void
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_free(OPENSSL_STACK *a);
                                              ^~~~~~~~~~~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:93:42: error: 'OPENSSL_STACK' was not declared in this scope
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:93:42: note: suggested alternative: 'OPENSSL_BLOCK'
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_free(OPENSSL_STACK *a);
                                              ^~~~~~~~~~~~~
                                              OPENSSL_BLOCK
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:93:57: error: 'a' was not declared in this scope
     Q_AUTOTEST_EXPORT void q_OPENSSL_sk_free(OPENSSL_STACK *a);
                                                             ^
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:94:45: error: 'OPENSSL_STACK' was not declared in this scope
     Q_AUTOTEST_EXPORT void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                                 ^~~~~~~~~~~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:94:45: note: suggested alternative: 'OPENSSL_BLOCK'
     Q_AUTOTEST_EXPORT void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                                 ^~~~~~~~~~~~~
                                                 OPENSSL_BLOCK
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:94:60: error: 'a' was not declared in this scope
     Q_AUTOTEST_EXPORT void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                                                ^
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:94:63: error: expected primary-expression before 'int'
     Q_AUTOTEST_EXPORT void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                                                   ^~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:94:68: error: expression list treated as compound expression in initializer [-fpermissive]
     Q_AUTOTEST_EXPORT void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                                                        ^
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:97:45: error: 'OPENSSL_INIT_SETTINGS' does not name a type; did you mean 'OPENSSL_CSTRING'?
     int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
                                                 ^~~~~~~~~~~~~~~~~~~~~
                                                 OPENSSL_CSTRING
    In file included from C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\openssl_symbols_p.h:248:0,
                     from C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qopcuax509certificatesigningrequest.cpp:38:
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:110:50: error: 'X509_STORE_CTX_verify_cb' has not been declared
     void q_X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:129:1: error: 'OPENSSL_STACK' does not name a type; did you mean 'OPENSSL_BLOCK'?
     OPENSSL_STACK *q_sk_new_null();
     ^~~~~~~~~~~~~
     OPENSSL_BLOCK
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:134:16: error: variable or field 'q_sk_push' declared void
     void q_sk_push(OPENSSL_STACK *st, void *data);
                    ^~~~~~~~~~~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:134:16: error: 'OPENSSL_STACK' was not declared in this scope
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:134:16: note: suggested alternative: 'OPENSSL_BLOCK'
     void q_sk_push(OPENSSL_STACK *st, void *data);
                    ^~~~~~~~~~~~~
                    OPENSSL_BLOCK
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:134:31: error: 'st' was not declared in this scope
     void q_sk_push(OPENSSL_STACK *st, void *data);
                                   ^~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:134:35: error: expected primary-expression before 'void'
     void q_sk_push(OPENSSL_STACK *st, void *data);
                                       ^~~~
    C:\Qt\5.14.1\msvc2017_64\qtopcua\src\opcua\x509\qsslsocket_openssl11_symbols_p.h:142:48: error: 'OPENSSL_INIT_SETTINGS' does not name a type; did you mean 'OPENSSL_CSTRING'?
     int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
                                                    ^~~~~~~~~~~~~~~~~~~~~
                                                    OPENSSL_CSTRING
    mingw32-make[3]: *** [Makefile.Release:6378: .obj/release/qopcuax509certificatesigningrequest.o] Error 1
    mingw32-make[3]: Leaving directory 'C:/Qt/5.14.1/msvc2017_64/qtopcua/build/src/opcua'
    mingw32-make[2]: *** [Makefile:45: release] Error 2
    mingw32-make[2]: Leaving directory 'C:/Qt/5.14.1/msvc2017_64/qtopcua/build/src/opcua'
    mingw32-make[1]: *** [Makefile:52: sub-opcua-make_first] Error 2
    mingw32-make[1]: Leaving directory 'C:/Qt/5.14.1/msvc2017_64/qtopcua/build/src'
    mingw32-make: *** [Makefile:53: sub-src-make_first] Error 2
    
    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      Do you have OpenSSL available on your machine ?
      If so, which version ?
      How are you building that module ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      1
      • B Offline
        B Offline
        Beemaneni Bala 0
        wrote on last edited by
        #3

        Hello
        I am going through the same issue while building the module offline. I downloaded the commercial sources and using qmake and make. i get the following errors here

        In file included from x509/openssl_symbols_p.h:248:0,
                         from x509/qopcuax509certificatesigningrequest.cpp:38:
        x509/qsslsocket_openssl11_symbols_p.h:89:40: error: ‘OPENSSL_STACK’ was not declared in this scope
         Q_AUTOTEST_EXPORT int q_OPENSSL_sk_num(OPENSSL_STACK *a);
                                                ^
        x509/qsslsocket_openssl11_symbols_p.h:89:55: error: ‘a’ was not declared in this scope
         Q_AUTOTEST_EXPORT int q_OPENSSL_sk_num(OPENSSL_STACK *a);
                                                               ^
        x509/qsslsocket_openssl11_symbols_p.h:90:46: error: variable or field ‘q_OPENSSL_sk_pop_free’ declared void
         Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
        
        

        i have an open ssl verison as OpenSSL 1.0.2g 1 Mar 2016. Let me know if someone can help me to resolve the build

        1 Reply Last reply
        0
        • B Offline
          B Offline
          Beemaneni Bala 0
          wrote on last edited by
          #4

          Hi
          An update
          I overcame an OPENSSL error by installing openssl from the Qt Tools. Now i get the following error

          qopen62541backend.cpp: In member function ‘void Open62541AsyncBackend::readAttributes(quint64, UA_NodeId, QOpcUa::NodeAttributes, QString)’:
          qopen62541backend.cpp:104:32: error: ‘class QList<UA_ReadValueId>’ has no member named ‘data’
               req.nodesToRead = valueIds.data();
                                          ^
          qopen62541backend.cpp: In member function ‘UA_UInt32* Open62541AsyncBackend::copyArrayDimensions(const QList<unsigned int>&, size_t*)’:
          qopen62541backend.cpp:1415:55: error: ‘const class QList<unsigned int>’ has no member named ‘constData’
               UA_StatusCode res = UA_Array_copy(arrayDimensions.constData(), arrayDimensions.size(),
                                                                 ^
          Makefile:1345: recipe for target '.obj/qopen62541backend.o' failed
          make[4]: *** [.obj/qopen62541backend.o] Error 1
          
          

          Looks like code referencing error to the defined structure. Do we need to modify the sources and build here ?

          Regards
          Bala B

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #5

            Which version of Qt are you using ?
            Are you using a git clone ?
            Is that clone on the branch matching the Qt version you are using ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            B 1 Reply Last reply
            0
            • SGaistS SGaist

              Which version of Qt are you using ?
              Are you using a git clone ?
              Is that clone on the branch matching the Qt version you are using ?

              B Offline
              B Offline
              Beemaneni Bala 0
              wrote on last edited by
              #6

              @SGaist
              I am using Qt 5.15.2. i got the commercial one from the qt website. There wont be git on that.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #7

                Sure there is: https://code.qt.io/cgit/qt/qtopcua.git/

                Since you are a commercial customer, you will have access to LTS releases longer than OpenSource users but otherwise.

                Just to be sure, are you sure you are using the correct qmake to build that module ?

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                B 1 Reply Last reply
                0
                • SGaistS SGaist

                  Sure there is: https://code.qt.io/cgit/qt/qtopcua.git/

                  Since you are a commercial customer, you will have access to LTS releases longer than OpenSource users but otherwise.

                  Just to be sure, are you sure you are using the correct qmake to build that module ?

                  B Offline
                  B Offline
                  Beemaneni Bala 0
                  wrote on last edited by
                  #8

                  @SGaist
                  Thanks . I did compile the open source code successfully.
                  But still an issue with the commercial one. Yup i did use the right qmake. Issue could be with version matching. But there is nt a way to match version for the open source

                  Regards
                  Bala B

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #9

                    They should be in sync unless you have additional patches. With the new operating model there will indeed be a difference at some point.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    0

                    • Login

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • Users
                    • Groups
                    • Search
                    • Get Qt Extensions
                    • Unsolved