build errors in kdelibs4support: openssl 1.0 vs. 1.1

Milian Wolff milian.wolff at kdab.com
Tue May 2 13:06:19 UTC 2017


Hey all,

ArchLinux recently updated openssl to 1.1, I now have:

/usr/include/openssl <- 1.1
/usr/include/openssl-1.0/openssl <- 1.0

kdelibs4support finds the former and then fails to compile with e.g.:

/home/milian/projects/kf5/src/frameworks/kdelibs4support/src/kssl/
ksslcertchain.cpp: In member function ‘void KSSLCertChain::setChain(const 
QList<KSSLCertificate*>&)’:
/home/milian/projects/kf5/src/frameworks/kdelibs4support/src/kssl/
ksslcertchain.cpp:45:26: error: ‘class KOpenSSLProxy’ has no member named 
‘sk_new’; did you mean ‘SSL_new’?
 #define sk_new d->kossl->sk_new
                          ^
/home/milian/projects/kf5/src/frameworks/kdelibs4support/src/kssl/
ksslcertchain.cpp:164:22: note: in expansion of macro ‘sk_new’
     _chain = (void *)sk_new(nullptr);
                      ^~~~~~

Just adding a 1.0 version to the find_package does not fix this. I need to 
manually change OPENSSL_INCLUDE_DIR and set it to /usr/include/openssl-1.0 to 
compile this.

How can we fix this properly and transparently for Arch users and users of 
other distros for the future?

Thanks
-- 
Milian Wolff | milian.wolff at kdab.com | Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt Experts


More information about the Kde-buildsystem mailing list