Version: (using KDE 4.0.4) Installed from: NetBSD pkgsrc Compiler: gcc4 OS: NetBSD If using a snapshot of the yet to be released openssl 0.9.9, kdelibs fails to build as it tries to use ASN1_METHOD, which has been removed. This is true of the 3.5 branch, the 4.0 branch and the trunk as the code is essentially unchanged in all these. I will attach patches that should fix for 3.5.9 and 4.0.4 (trunk should be same as the 4.0.4 patch) cheers mark
Created attachment 24800 [details] patch against 3.5.9 release
Created attachment 24801 [details] patch against 4.0.4 release
Created attachment 24803 [details] corrected patch against 4.0.4 release
Created attachment 24804 [details] Further 4.0.4 required patch 4.0.4 (and presumably trunk) also require this patch for other openssl-0.9.9 changes.
Created attachment 24821 [details] Further 3.5.9 (kdebase) required patch Additional patch required to build kdebase-3.5.9 with current openssl, equivalent to attachment 24804 [details] for 4.0.4.
SVN commit 810213 by mueller: use a different method for generating Netscape X509 certificates, as the old hook we used disappeared with openssl 0.9.9. The newly used function seems to be available since 0.9.7a, which is the oldest openssl version anyone should run anyway. Patch by Mark Davies CCBUG: 162194 M +7 -15 kopenssl.cpp M +0 -7 kopenssl.h M +7 -8 ksslcertificate.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=810213
The fix for this breaks the build here with openssl 0.9.8g... /usr/src/ark/BUILD/kdelibs/kio/kssl/ksslcertificate.cpp: In member function 'QByteArray KSSLCertificate::toNetscape()': /usr/src/ark/BUILD/kdelibs/kio/kssl/ksslcertificate.cpp:1202: error: 'NETSCAPE_X509' was not declared in this scope /usr/src/ark/BUILD/kdelibs/kio/kssl/ksslcertificate.cpp:1202: error: expected `;' before 'nx' /usr/src/ark/BUILD/kdelibs/kio/kssl/ksslcertificate.cpp:1210: error: 'nx' was not declared in this scope # grep -r NETSCAPE_X509 /usr/include/openssl # rpm -qf /usr/include/openssl/x509.h openssl-devel-0.9.8g-1ark.i586
NETSCAPE_X509 isn't defined anywhere in stock openssl 0.9.8g sources either
The NETSCAPE_X509 typedef is all that is missing to get the new ksslcertificate.cpp to compile with openssl 0.9.8g again: typedef struct NETSCAPE_X509_st { ASN1_OCTET_STRING *header; X509 *cert; } NETSCAPE_X509; kopenssl.cpp still barfs after adding that, though: /usr/src/ark/BUILD/kdelibs/kio/kssl/kopenssl.cpp: In member function 'int KOpenSSLProxy::ASN1_i2d_fp(FILE*, unsigned char*)': /usr/src/ark/BUILD/kdelibs/kio/kssl/kopenssl.cpp:1000: error: 'K_ASN1_i2d_fp' was not declared in this scope
Hi! Is this bug still valid on more recent KDE 4 versions?
Dirk fixed this just after Bero's comment. ------------------------------------------------------------------------ r810254 | mueller | 2008-05-20 13:15:20 +0300 (Tue, 20 May 2008) | 2 lines compile again for older openssl versions
On Wednesday 04 August 2010 04:29:47 Tommi Tervo wrote: > --- Comment #11 from Tommi Tervo <tommi tervo gmail com> 2010-08-03 > 18:29:46 --- Dirk fixed this just after Bero's comment. The original issue was fixed but the patch in the "Further 4.0.4 required patch" attachment, we are still applying against 4.4.5. cheers mark