OpenSSL 4.0 is in experimental. This package fails to build against it:
| [9/16] cc -Iukibootimg.p -I. -I.. -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c99 -Werror=shadow -Werror=empty-body -Werror=strict-prototypes -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=missing-declarations -Werror=return-type -Werror=switch -Werror=overflow -Werror=int-conversion -Werror=parentheses -Werror=undef -Werror=incompatible-pointer-types -Werror=misleading-indentation -Werror=missing-include-dirs -Wstrict-aliasing=2 -Werror=unused-result -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/ukiboot-0.2.1+git20260604.ec869c7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MQ ukibootimg.p/pe_parser_posix.c.o -MF ukibootimg.p/pe_parser_posix.c.o.d -o ukibootimg.p/pe_parser_posix.c.o -c ../pe_parser_posix.c
| FAILED: [code=1] ukibootimg.p/pe_parser_posix.c.o
| cc -Iukibootimg.p -I. -I.. -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c99 -Werror=shadow -Werror=empty-body -Werror=strict-prototypes -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=missing-declarations -Werror=return-type -Werror=switch -Werror=overflow -Werror=int-conversion -Werror=parentheses -Werror=undef -Werror=incompatible-pointer-types -Werror=misleading-indentation -Werror=missing-include-dirs -Wstrict-aliasing=2 -Werror=unused-result -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/ukiboot-0.2.1+git20260604.ec869c7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MQ ukibootimg.p/pe_parser_posix.c.o -MF ukibootimg.p/pe_parser_posix.c.o.d -o ukibootimg.p/pe_parser_posix.c.o -c ../pe_parser_posix.c
| ../pe_parser_posix.c: In function ‘verify_pkcs7_signature’:
| ../pe_parser_posix.c:481:37: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
| 481 | ASN1_OCTET_STRING *msg_digest = PKCS7_digest_from_attributes(si->auth_attr);
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ../pe_parser_posix.c:494:19: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 494 | if (msg_digest->length != (int)computed_md_len ||
| | ^~
| ../pe_parser_posix.c:495:33: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 495 | CRYPTO_memcmp(msg_digest->data, computed_md, computed_md_len) != 0) {
| | ^~
| ../pe_parser_posix.c:524:41: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 524 | si->enc_digest->data,
| | ^~
| ../pe_parser_posix.c:525:41: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 525 | si->enc_digest->length,
| | ^~
| ../pe_parser_posix.c: In function ‘pe_verify_signature’:
| ../pe_parser_posix.c:613:35: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 613 | if (!content_os || !content_os->data) {
| | ^~
| ../pe_parser_posix.c:619:42: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 619 | if (!extract_spc_file_hash(content_os->data,
| | ^~
| ../pe_parser_posix.c:620:42: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 620 | content_os->length,
| | ^~
| ../pe_parser_posix.c:645:46: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 645 | const uint8_t *content_inner = content_os->data;
| | ^~
| ../pe_parser_posix.c:646:39: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
| 646 | int content_inner_len = content_os->length;
| | ^~
| ninja: build stopped: subcommand failed.
| dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j1 -v returned exit code 1
Full buildlog
https://breakpoint.cc/openssl-rebuild/logs-4/attempted/ukiboot_0.2.1+git20260604.ec869c7-2_amd64-2026-06-16T19:55:10Z
Sebastian