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.