#1138479 xmlsec1: FTBFS with openssl 4.0

Package:
xmlsec1
Source:
xmlsec1
Description:
XML security command line processor
Submitter:
Sebastian Andrzej Siewior
Date:
2026-06-21 16:29:02 UTC
Severity:
normal
Tags:
#1138479#5
Date:
2026-05-30 16:22:30 UTC
From:
To:
OpenSSL 4.0 is in experimental. This package fails to build against it:

| libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -DPACKAGE=\"xmlsec1\" -I../../include -I../../include -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_OPENSSL3_ENGINES=1 -DXMLSEC_NO_FTP=1 -DXMLSEC_NO_HTTP=1 -DXMLSEC_NO_MD5=1 -DXMLSEC_NO_MLDSA=1 -DXMLSEC_NO_SLHDSA=1 -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO_OPENSSL=1 -I/usr/include/libxml2 -I/usr/include/libxml2 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/xmlsec1-1.3.10=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fno-strict-overflow -fno-strict-aliasing -O -std=c99 -pedantic -pedantic-errors -W -Wall -Wextra -fno-inline -Wnull-dereference -Wdouble-promotion -Wformat=2 -Wformat-security -Wformat-nonliteral -Wconversion -Wunused -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wnested-externs -Wredundant-decls -Wformat-overflow=2 -Wformat-signedness -fno-builtin-memset -c x509.c  -fPIC -DPIC -o .libs/libxmlsec1_openssl_la-x509.o
| x509.c: In function 'xmlSecOpenSSLX509SKIWrite':
| x509.c:1018:9: error: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
|  1018 |     ext = X509_get_ext(cert, index);
|       |         ^
| x509.c: In function 'xmlSecOpenSSLKeyDataX509Write':
| x509.c:1303:61: error: passing argument 1 of 'xmlSecOpenSSLX509NameWrite' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
|  1303 |             x509Value->subject = xmlSecOpenSSLX509NameWrite(X509_get_subject_name(cert));
|       |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| x509.c:1156:39: note: expected 'X509_NAME *' {aka 'struct X509_name_st *'} but argument is of type 'const X509_NAME *' {aka 'const struct X509_name_st *'}
|  1156 | xmlSecOpenSSLX509NameWrite(X509_NAME* nm) {
|       |                            ~~~~~~~~~~~^~
| x509.c:1315:64: error: passing argument 1 of 'xmlSecOpenSSLX509NameWrite' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
|  1315 |             x509Value->issuerName = xmlSecOpenSSLX509NameWrite(X509_get_issuer_name(cert));
|       |                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
| x509.c:1156:39: note: expected 'X509_NAME *' {aka 'struct X509_name_st *'} but argument is of type 'const X509_NAME *' {aka 'const struct X509_name_st *'}
|  1156 | xmlSecOpenSSLX509NameWrite(X509_NAME* nm) {
|       |                            ~~~~~~~~~~~^~
| x509.c: In function 'xmlSecOpenSSLX509CertDebugDump':
| x509.c:1860:35: error: passing argument 1 of 'xmlSecOpenSSLX509NameToString' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
|  1860 |     xmlSecOpenSSLX509NameToString(X509_get_subject_name(cert), buf, sizeof(buf));
|       |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| x509.c:1824:42: note: expected 'X509_NAME *' {aka 'struct X509_name_st *'} but argument is of type 'const X509_NAME *' {aka 'const struct X509_name_st *'}
|  1824 | xmlSecOpenSSLX509NameToString(X509_NAME* name, char* buf, int bufLen) {
|       |                               ~~~~~~~~~~~^~~~
| x509.c:1862:35: error: passing argument 1 of 'xmlSecOpenSSLX509NameToString' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
|  1862 |     xmlSecOpenSSLX509NameToString(X509_get_issuer_name(cert), buf, sizeof(buf));
|       |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
| x509.c:1824:42: note: expected 'X509_NAME *' {aka 'struct X509_name_st *'} but argument is of type 'const X509_NAME *' {aka 'const struct X509_name_st *'}
|  1824 | xmlSecOpenSSLX509NameToString(X509_NAME* name, char* buf, int bufLen) {
|       |                               ~~~~~~~~~~~^~~~
| x509.c: In function 'xmlSecOpenSSLX509CertDebugXmlDump':
| x509.c:1885:35: error: passing argument 1 of 'xmlSecOpenSSLX509NameToString' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
|  1885 |     xmlSecOpenSSLX509NameToString(X509_get_subject_name(cert), buf, sizeof(buf));
|       |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| x509.c:1824:42: note: expected 'X509_NAME *' {aka 'struct X509_name_st *'} but argument is of type 'const X509_NAME *' {aka 'const struct X509_name_st *'}
|  1824 | xmlSecOpenSSLX509NameToString(X509_NAME* name, char* buf, int bufLen) {
|       |                               ~~~~~~~~~~~^~~~
| x509.c:1891:35: error: passing argument 1 of 'xmlSecOpenSSLX509NameToString' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
|  1891 |     xmlSecOpenSSLX509NameToString(X509_get_issuer_name(cert), buf, sizeof(buf));
|       |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
| x509.c:1824:42: note: expected 'X509_NAME *' {aka 'struct X509_name_st *'} but argument is of type 'const X509_NAME *' {aka 'const struct X509_name_st *'}
|  1824 | xmlSecOpenSSLX509NameToString(X509_NAME* name, char* buf, int bufLen) {
|       |                               ~~~~~~~~~~~^~~~
| make[5]: *** [Makefile:801: libxmlsec1_openssl_la-x509.lo] Error 1

Full buildlog
https://breakpoint.cc/openssl-rebuild/logs-4/attempted/xmlsec1_1.3.10-2_amd64-2026-04-19T10:13:08Z

Sebastian

#1138479#12
Date:
2026-05-30 16:58:40 UTC
From:
To:
Am 30.05.26 um 18:22 schrieb Sebastian Andrzej Siewior:

xmlsec1 1.3.11 as of experimental is supposed to fix this:

https://github.com/lsh123/xmlsec/releases/tag/1.3.11:

XMLSec 1.3.11 Latest
@lsh123 lsh123 released this Apr 22
· 46 commits to master since this release
  1.3.11
  8ed6192
The XML Security Library 1.3.11 release includes the following changes:

(xmlsec-openssl) Added support for OpenSSL 4.0.0.

[...]


Unfoirtunately a ratt rebuild caused a segfault on one test and a failing other one (see https://github.com/lsh123/xmlsec/pull/1104#issuecomment-4308404435 ff.), then dropped the ball.

Will try the patch for python-xmlsec.


Regards,


Rene

#1138479#17
Date:
2026-05-31 09:18:07 UTC
From:
To:
Hi,

Am 30.05.26 um 18:58 schrieb Rene Engelhard:


Regards,

Rene

#1138479#20
Date:
2026-05-31 09:18:07 UTC
From:
To:
Hi,

Am 30.05.26 um 18:58 schrieb Rene Engelhard:


Regards,

Rene

#1138479#25
Date:
2026-06-21 16:26:32 UTC
From:
To:
tag 1138479 + pending
thanks

Hi,

Update:

Am 30.05.26 um 18:58 schrieb Rene Engelhard:
But given the size of the diff I'd probaly prefer doing a xmlsec1 transition together with the openssl 4 one.

python-xmlsec is fixed for since 1.3.17-2, leaves only nordugrid-arc...

Regards,

Rene

#1138479#30
Date:
2026-06-21 16:26:32 UTC
From:
To:
tag 1138479 + pending
thanks

Hi,

Update:

Am 30.05.26 um 18:58 schrieb Rene Engelhard:
But given the size of the diff I'd probaly prefer doing a xmlsec1 transition together with the openssl 4 one.

python-xmlsec is fixed for since 1.3.17-2, leaves only nordugrid-arc...

Regards,

Rene