gsoap287
- Path: arch/private/gsoap287
- 2026-07-15: build failure fixed and published,
pkgrel 4 -> 5.
Previously flagged as a “genuine compiler/source error”: X509_EXTENSION
incomplete type – OpenSSL ABI break. Two distinct problems, both in
the single real source file gsoap/stdsoap2.cpp (built three times
under different symlinked names – stdsoap2.c, stdsoap2_ssl.c,
stdsoap2_ssl_cpp.cpp – per Makefile.am, so one patch covers all
variants):
tcp_connect()’s certificate subjectAltName check reached
directly into X509_EXTENSION’s internal fields
(ext->value->data, ext->value->length) and called the
long-removed M_ASN1_STRING_data() macro. X509_EXTENSION became
opaque in OpenSSL 1.1+ and M_ASN1_STRING_data was dropped, so
modern OpenSSL 3.x headers reject both outright.
- Once past that,
soapcpp2 (the bundled bison/flex-generated WSDL
parser-generator tool, built and run as part of the build itself)
failed at link time with “multiple definition of yylval” – the
generated parser/lexer both carry a tentative definition of
yylval, which old GCC silently merged via common symbols but
GCC 10+’s -fno-common default now rejects.
- Fix:
- New patch
gsoap-2.8.7-openssl3.patch (applied in a new
prepare()): replaces the direct struct-field reads with
X509_EXTENSION_get_data() / ASN1_STRING_get0_data() /
ASN1_STRING_length(), and replaces M_ASN1_STRING_data() with
ASN1_STRING_get0_data().
- Added
-fcommon to build()’s CFLAGS.
- Test-built clean with
extra-x86_64-build, then built+signed+
published to the private repo (x86_64) – manually, by the user, not
through repo_release.sh. See UPDATES.md’s 2026-07-15 entry for
full detail.