Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-73553

Qt does not compile under openSUSE Leap, unless it is configured with "no-openssl"

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P2: Important
    • None
    • 5.12.0, 5.12.1
    • Network: SSL
    • None
    • openSUSE Leap 15.0 and predecessors
    • Linux/X11

    Description

      With default configuration Qt does not compile under openSUSE Leap, it requires the option "no-openssl". The bug seems to be related to QTBUG-46292 (see comment 30 Oct '18 9:40 PM), to QTBUG-68374 and to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228344 (where apparently a fix exists, see comment 2018-11-26 20:30:02 UTC).

      g++ -c -include .pch/Qt5Network -pipe -DOPENSSL_API_COMPAT=0x10100000L -g -Og -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_USE_SYSTEM_PROXIES -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_NETWORK_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_CORE_LIB -I. -Ikernel -I../../include -I../../include/QtNetwork -I../../include/QtNetwork/5.12.1 -I../../include/QtNetwork/5.12.1/QtNetwork -I../../include/QtCore/5.12.1 -I../../include/QtCore/5.12.1/QtCore -I../../include/QtCore -I.moc -I../../mkspecs/linux-g++ -o .obj/qsslcertificate.o ssl/qsslcertificate.cpp
      In file included from ssl/qsslsocket_openssl_symbols_p.h:220:0,
                       from ssl/qsslcertificate.cpp:116:
      ssl/qsslsocket_openssl11_symbols_p.h:87:22: error: ‘OPENSSL_STACK’ was not declared in this scope
       int q_OPENSSL_sk_num(OPENSSL_STACK *a);
                            ^~~~~~~~~~~~~
      ssl/qsslsocket_openssl11_symbols_p.h:87:22: note: suggested alternative: ‘OPENSSL_BLOCK’
       int q_OPENSSL_sk_num(OPENSSL_STACK *a);
                            ^~~~~~~~~~~~~
                            OPENSSL_BLOCK
      ssl/qsslsocket_openssl11_symbols_p.h:87:37: error: ‘a’ was not declared in this scope
       int q_OPENSSL_sk_num(OPENSSL_STACK *a);
                                           ^
      ssl/qsslsocket_openssl11_symbols_p.h:88:28: error: variable or field ‘q_OPENSSL_sk_pop_free’ declared void
       void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                  ^~~~~~~~~~~~~
      ssl/qsslsocket_openssl11_symbols_p.h:88:28: error: ‘OPENSSL_STACK’ was not declared in this scope
      ssl/qsslsocket_openssl11_symbols_p.h:88:28: note: suggested alternative: ‘OPENSSL_BLOCK’
       void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                  ^~~~~~~~~~~~~
                                  OPENSSL_BLOCK
      ssl/qsslsocket_openssl11_symbols_p.h:88:43: error: ‘a’ was not declared in this scope
       void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                                 ^
      ssl/qsslsocket_openssl11_symbols_p.h:88:53: error: ‘b’ was not declared in this scope
       void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                                           ^
      ssl/qsslsocket_openssl11_symbols_p.h:88:56: error: expected primary-expression before ‘void’
       void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
                                                              ^~~~
      ssl/qsslsocket_openssl11_symbols_p.h:89:1: error: ‘OPENSSL_STACK’ does not name a type; did you mean ‘OPENSSL_BLOCK’?
       OPENSSL_STACK *q_OPENSSL_sk_new_null();
       ^~~~~~~~~~~~~
       OPENSSL_BLOCK
      ssl/qsslsocket_openssl11_symbols_p.h:90:24: error: variable or field ‘q_OPENSSL_sk_push’ declared void
       void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
                              ^~~~~~~~~~~~~
      ssl/qsslsocket_openssl11_symbols_p.h:90:24: error: ‘OPENSSL_STACK’ was not declared in this scope
      ssl/qsslsocket_openssl11_symbols_p.h:90:24: note: suggested alternative: ‘OPENSSL_BLOCK’
       void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
                              ^~~~~~~~~~~~~
                              OPENSSL_BLOCK
      ssl/qsslsocket_openssl11_symbols_p.h:90:39: error: ‘st’ was not declared in this scope
       void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
                                             ^~
      ssl/qsslsocket_openssl11_symbols_p.h:90:43: error: expected primary-expression before ‘void’
       void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
                                                 ^~~~
      ssl/qsslsocket_openssl11_symbols_p.h:91:24: error: variable or field ‘q_OPENSSL_sk_free’ declared void
       void q_OPENSSL_sk_free(OPENSSL_STACK *a);
                              ^~~~~~~~~~~~~
      ssl/qsslsocket_openssl11_symbols_p.h:91:24: error: ‘OPENSSL_STACK’ was not declared in this scope
      ssl/qsslsocket_openssl11_symbols_p.h:91:24: note: suggested alternative: ‘OPENSSL_BLOCK’
       void q_OPENSSL_sk_free(OPENSSL_STACK *a);
                              ^~~~~~~~~~~~~
                              OPENSSL_BLOCK
      ssl/qsslsocket_openssl11_symbols_p.h:91:39: error: ‘a’ was not declared in this scope
       void q_OPENSSL_sk_free(OPENSSL_STACK *a);
                                             ^
      ssl/qsslsocket_openssl11_symbols_p.h:92:27: error: ‘OPENSSL_STACK’ was not declared in this scope
       void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                 ^~~~~~~~~~~~~
      ssl/qsslsocket_openssl11_symbols_p.h:92:27: note: suggested alternative: ‘OPENSSL_BLOCK’
       void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                 ^~~~~~~~~~~~~
                                 OPENSSL_BLOCK
      ssl/qsslsocket_openssl11_symbols_p.h:92:42: error: ‘a’ was not declared in this scope
       void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                                ^
      ssl/qsslsocket_openssl11_symbols_p.h:92:45: error: expected primary-expression before ‘int’
       void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                                   ^~~
      ssl/qsslsocket_openssl11_symbols_p.h:92:50: error: expression list treated as compound expression in initializer [-fpermissive]
       void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
                                                        ^
      ssl/qsslsocket_openssl11_symbols_p.h:95:45: error: ‘OPENSSL_INIT_SETTINGS’ does not name a type; did you mean ‘OPENSSL_INIT_ATFORK’?
       int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
                                                   ^~~~~~~~~~~~~~~~~~~~~
                                                   OPENSSL_INIT_ATFORK
      In file included from ssl/qsslsocket_openssl_symbols_p.h:220:0,
                       from ssl/qsslcertificate.cpp:116:
      ssl/qsslsocket_openssl11_symbols_p.h:107: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);
                                                        ^~~~~~~~~~~~~~~~~~~~~~~~
      ssl/qsslsocket_openssl11_symbols_p.h:124:48: error: ‘OPENSSL_INIT_SETTINGS’ does not name a type; did you mean ‘OPENSSL_INIT_ATFORK’?
       int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
                                                      ^~~~~~~~~~~~~~~~~~~~~
                                                      OPENSSL_INIT_ATFORK
      In file included from ssl/qsslcertificate.cpp:116:0:
      ssl/qsslsocket_openssl_symbols_p.h:363:1: error: ‘SSL_CONF_CTX’ does not name a type; did you mean ‘SSL_AEAD_CTX’?
       SSL_CONF_CTX *q_SSL_CONF_CTX_new();
       ^~~~~~~~~~~~
       SSL_AEAD_CTX
      ssl/qsslsocket_openssl_symbols_p.h:364:26: error: variable or field ‘q_SSL_CONF_CTX_free’ declared void
       void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a);
                                ^~~~~~~~~~~~
      ssl/qsslsocket_openssl_symbols_p.h:364:26: error: ‘SSL_CONF_CTX’ was not declared in this scope
      ssl/qsslsocket_openssl_symbols_p.h:364:26: note: suggested alternative: ‘SSL_AEAD_CTX’
       void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a);
                                ^~~~~~~~~~~~
                                SSL_AEAD_CTX
      ssl/qsslsocket_openssl_symbols_p.h:364:40: error: ‘a’ was not declared in this scope
       void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a);
                                              ^
      ssl/qsslsocket_openssl_symbols_p.h:365:33: error: variable or field ‘q_SSL_CONF_CTX_set_ssl_ctx’ declared void
       void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
                                       ^~~~~~~~~~~~
      ssl/qsslsocket_openssl_symbols_p.h:365:33: error: ‘SSL_CONF_CTX’ was not declared in this scope
      ssl/qsslsocket_openssl_symbols_p.h:365:33: note: suggested alternative: ‘SSL_AEAD_CTX’
       void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
                                       ^~~~~~~~~~~~
                                       SSL_AEAD_CTX
      ssl/qsslsocket_openssl_symbols_p.h:365:47: error: ‘a’ was not declared in this scope
       void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
                                                     ^
      ssl/qsslsocket_openssl_symbols_p.h:365:58: error: expected primary-expression before ‘*’ token
       void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
                                                                ^
      ssl/qsslsocket_openssl_symbols_p.h:365:59: error: ‘b’ was not declared in this scope
       void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
                                                                 ^
      ssl/qsslsocket_openssl_symbols_p.h:366:39: error: ‘SSL_CONF_CTX’ was not declared in this scope
       unsigned int q_SSL_CONF_CTX_set_flags(SSL_CONF_CTX *a, unsigned int b);
                                             ^~~~~~~~~~~~
      ssl/qsslsocket_openssl_symbols_p.h:366:39: note: suggested alternative: ‘SSL_AEAD_CTX’
       unsigned int q_SSL_CONF_CTX_set_flags(SSL_CONF_CTX *a, unsigned int b);
                                             ^~~~~~~~~~~~
                                             SSL_AEAD_CTX
      ssl/qsslsocket_openssl_symbols_p.h:366:53: error: ‘a’ was not declared in this scope
       unsigned int q_SSL_CONF_CTX_set_flags(SSL_CONF_CTX *a, unsigned int b);
                                                           ^
      ssl/qsslsocket_openssl_symbols_p.h:366:56: error: expected primary-expression before ‘unsigned’
       unsigned int q_SSL_CONF_CTX_set_flags(SSL_CONF_CTX *a, unsigned int b);
                                                              ^~~~~~~~
      ssl/qsslsocket_openssl_symbols_p.h:366:70: error: expression list treated as compound expression in initializer [-fpermissive]
       unsigned int q_SSL_CONF_CTX_set_flags(SSL_CONF_CTX *a, unsigned int b);
                                                                            ^
      ssl/qsslsocket_openssl_symbols_p.h:367:27: error: ‘SSL_CONF_CTX’ was not declared in this scope
       int q_SSL_CONF_CTX_finish(SSL_CONF_CTX *a);
                                 ^~~~~~~~~~~~
      ssl/qsslsocket_openssl_symbols_p.h:367:27: note: suggested alternative: ‘SSL_AEAD_CTX’
       int q_SSL_CONF_CTX_finish(SSL_CONF_CTX *a);
                                 ^~~~~~~~~~~~
                                 SSL_AEAD_CTX
      ssl/qsslsocket_openssl_symbols_p.h:367:41: error: ‘a’ was not declared in this scope
       int q_SSL_CONF_CTX_finish(SSL_CONF_CTX *a);
                                               ^
      ssl/qsslsocket_openssl_symbols_p.h:368:20: error: ‘SSL_CONF_CTX’ was not declared in this scope
       int q_SSL_CONF_cmd(SSL_CONF_CTX *a, const char *b, const char *c);
                          ^~~~~~~~~~~~
      ssl/qsslsocket_openssl_symbols_p.h:368:20: note: suggested alternative: ‘SSL_AEAD_CTX’
       int q_SSL_CONF_cmd(SSL_CONF_CTX *a, const char *b, const char *c);
                          ^~~~~~~~~~~~
                          SSL_AEAD_CTX
      ssl/qsslsocket_openssl_symbols_p.h:368:34: error: ‘a’ was not declared in this scope
       int q_SSL_CONF_cmd(SSL_CONF_CTX *a, const char *b, const char *c);
                                        ^
      ssl/qsslsocket_openssl_symbols_p.h:368:37: error: expected primary-expression before ‘const’
       int q_SSL_CONF_cmd(SSL_CONF_CTX *a, const char *b, const char *c);
                                           ^~~~~
      ssl/qsslsocket_openssl_symbols_p.h:368:52: error: expected primary-expression before ‘const’
       int q_SSL_CONF_cmd(SSL_CONF_CTX *a, const char *b, const char *c);
                                                          ^~~~~
      ssl/qsslsocket_openssl_symbols_p.h:368:65: error: expression list treated as compound expression in initializer [-fpermissive]
       int q_SSL_CONF_cmd(SSL_CONF_CTX *a, const char *b, const char *c);
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            tpochep Timur Pocheptsov
            wschenke Winfried Schenke
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes