Hi,
I maintain in Mageia distribution haproxy package, with two version quic (linked against quictls 3.3.0 (+openssl 3.3.0->3.3.4 patch) and non-quic version against openssl 3.5.
Trying to build against quictls-3.3.4 with this command:
/usr/bin/make -O -j16 V=1 VERBOSE=1 'CFLAGS=-O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -fwrapv' 'LDFLAGS=-Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-O1 -Wl,--build-id=sha1 -Wl,--enable-new-dtags -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' CPU=generic TARGET=linux-glibc USE_LUA=1 LUA_LIB=/usr/lib/lua/5.4 LUA_INC=/usr/include/lua USE_CRYPT_H=1 USE_DL=1 USE_EPOLL=1 USE_GETADDRINFO=1 USE_LIBCRYPT=1 USE_LINUX_SPLICE=1 USE_LINUX_TPROXY=1 USE_NS=1 USE_OPENSSL=1 USE_PCRE2=1 USE_PCRE2_JIT=1 USE_PROMEX=1 USE_QUIC= USE_RT=1 USE_SYSTEMD=1 USE_TFO=1 USE_THREAD=1 USE_THREAD_DUMP=1 USE_TPROXY=1 USE_SLZ=1 PREFIX=/usr MANDIR=/usr/share/man DOCDIR=/usr/share/doc/haproxy PCRE2_LIB=/usr/lib
I get this error:
cc -Iinclude -O2 -g -fwrapv -Wall -Wextra -Wundef -Wdeclaration-after-statement -Wtype-limits -Wshift-negative-value -Wshift-overflow=2 -Wduplicated-cond -Wnull-dereference -Wno-address-of-packed-member -Wno-unused-label -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered -Wno-missing-field-initializers -Wno-cast-function-type -Wno-string-plus-int -Wno-atomic-alignment -DUSE_EPOLL -DUSE_NETFILTER -DUSE_POLL -DUSE_THREAD -DUSE_BACKTRACE -DUSE_TPROXY -DUSE_LINUX_TPROXY -DUSE_LINUX_CAP -DUSE_LINUX_SPLICE -DUSE_LIBCRYPT -DUSE_CRYPT_H -DUSE_GETADDRINFO -DUSE_OPENSSL -DUSE_SSL -DUSE_LUA -DUSE_ACCEPT4 -DUSE_SLZ -DUSE_CPU_AFFINITY -DUSE_TFO -DUSE_NS -DUSE_DL -DUSE_RT -DUSE_MATH -DUSE_PRCTL -DUSE_THREAD_DUMP -DUSE_QUIC -DUSE_PROMEX -DUSE_PCRE2 -DUSE_PCRE2_JIT -fno-omit-frame-pointer -I/usr/include/openssl-quic -I/usr/include/lua -Iaddons/promex/include -DPCRE2_CODE_UNIT_WIDTH=8 -I/usr/include -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -fwrapv -DCONFIG_HAPROXY_VERSION=\"3.2.6-81568b2\" -DCONFIG_HAPROXY_DATE=\"2025/10/03\" -c -o src/ssl_clienthello.o src/ssl_clienthello.c
In file included from include/haproxy/quic_token.h:26,
from include/haproxy/quic_frame-t.h:36,
from include/haproxy/quic_conn-t.h:39,
from include/haproxy/quic_cc.h:34,
from include/haproxy/quic_conn.h:42,
from src/ssl_clienthello.c:17:
include/haproxy/quic_tls-t.h:278:37: error: field 'level' has incomplete type
278 | enum ssl_encryption_level_t level;
| ^~~~~
cc1: note: unrecognized command-line option '-Wno-atomic-alignment' may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option '-Wno-string-plus-int' may have been intended to silence earlier diagnostics
make: *** [Makefile:1060: src/ssl_clienthello.o] Error 1
make: *** Waiting for unfinished jobs....
Have you any idea which patch or parameter I may use to get it to build ?
Quictls source package is there:
(Version 3.3.5 is pending bug report + update approval)
Haproxy source package is there:
Best regards