Bug 1400196

Summary: qt(4) FTBFS against openssl-1.1
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: qtAssignee: Than Ngo <than>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: itamar, jreznik, kevin, me, rdieter, smparrish, than
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-08 15:45:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1400231, 1400233    
Bug Blocks: 1383740    

Description Rex Dieter 2016-11-30 16:49:10 UTC
summary says it all, getting detailed logs now

Comment 1 Kevin Kofler 2016-11-30 16:56:18 UTC
I guess this needs a similar fix as Qt 5.

Comment 2 Rex Dieter 2016-11-30 17:13:22 UTC
http://koji.fedoraproject.org/koji/taskinfo?taskID=16683407

ssl/qsslsocket_openssl.cpp: In static member function 'static QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(SSL_CIPHER*)':
ssl/qsslsocket_openssl.cpp:225:30: error: invalid use of incomplete type 'SSL_CIPHER {aka struct ssl_cipher_st}'
         ciph.d->bits = cipher->strength_bits;
                              ^~
In file included from ssl/qsslsocket_openssl_p.h:75:0,
                 from ssl/qsslsocket_openssl.cpp:49:
/usr/include/openssl/ssl.h:232:16: note: forward declaration of 'SSL_CIPHER {aka struct ssl_cipher_st}'
 typedef struct ssl_cipher_st SSL_CIPHER;
                ^~~~~~~~~~~~~
ssl/qsslsocket_openssl.cpp:226:39: error: invalid use of incomplete type 'SSL_CIPHER {aka struct ssl_cipher_st}'
         ciph.d->supportedBits = cipher->alg_bits;
                                       ^~
In file included from ssl/qsslsocket_openssl_p.h:75:0,
                 from ssl/qsslsocket_openssl.cpp:49:
/usr/include/openssl/ssl.h:232:16: note: forward declaration of 'SSL_CIPHER {aka struct ssl_cipher_st}'
 typedef struct ssl_cipher_st SSL_CIPHER;
                ^~~~~~~~~~~~~
g++ -c -std=gnu++98 -Wno-deprecated -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -fasynchronous-unwind-tables -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_NETWORK_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include/QtCore -I../../include -I../../include/QtNetwork -I.rcc/release-shared -Ikernel -I.moc/release-shared -o .obj/release-shared/qnetworkaccessmanager.o access/qnetworkaccessmanager.cpp
In file included from ssl/qsslsocket_openssl.cpp:50:0:
ssl/qsslsocket_openssl.cpp: In member function 'bool QSslSocketBackendPrivate::initSslContext()':
ssl/qsslsocket_openssl_symbols_p.h:402:60: error: 'SSL_CTRL_OPTIONS' was not declared in this scope
 #define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
                                                            ^
ssl/qsslsocket_openssl.cpp:328:5: note: in expansion of macro 'q_SSL_CTX_set_options'
     q_SSL_CTX_set_options(ctx, options);
     ^~~~~~~~~~~~~~~~~~~~~
ssl/qsslsocket_openssl.cpp:366:38: error: invalid use of incomplete type 'SSL_CTX {aka struct ssl_ctx_st}'
             q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle());
                                      ^~
In file included from /usr/include/openssl/crypto.h:31:0,
                 from /usr/include/openssl/bio.h:20,
                 from /usr/include/openssl/asn1.h:16,
                 from ssl/qsslsocket_openssl_p.h:66,
                 from ssl/qsslsocket_openssl.cpp:49:
/usr/include/openssl/ossl_typ.h:145:16: note: forward declaration of 'SSL_CTX {aka struct ssl_ctx_st}'
 typedef struct ssl_ctx_st SSL_CTX;
                ^~~~~~~~~~


among many others

Comment 3 Rex Dieter 2016-11-30 17:14:30 UTC
Thinking of trying to build with
-no-openssl
just so we can get a bootstrapped build going.

Then, maybe try using compat-openssl10

Comment 4 Rex Dieter 2016-11-30 18:16:27 UTC
fyi, -no-openssl bootstrap,
http://koji.fedoraproject.org/koji/taskinfo?taskID=16683537

now to try compat-openssl10, and (probably?) omitting -mysql driver until bug #1400233 is resolved

Comment 5 Rex Dieter 2016-12-05 13:10:53 UTC
compat-openssl10 worked, fyi.

Comment 6 Than Ngo 2016-12-08 15:45:25 UTC
i think it's safe to use the compat-openssl10 in the meantime and we will switch to open-ssl-1.1 when it's official supported by upstream.