Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

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.