Hi,
sbsigntool fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.
The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/sbsigntool_arm64.build.xz
The last lines of the build log are at the end of this report.
To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html
Please only close this issue after double-checking that the package can be
built correctly with GCC 16.
Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.
[...]
/usr/include/openssl/sha.h:74:27: note: declared here
74 | OSSL_DEPRECATEDIN_3_0 int SHA256_Update(SHA256_CTX *c,
| ^~~~~~~~~~~~~
image.c:541:9: warning: ‘SHA256_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
541 | rc = SHA256_Final(digest, &ctx);
| ^~
/usr/include/openssl/sha.h:76:27: note: declared here
76 | OSSL_DEPRECATEDIN_3_0 int SHA256_Final(unsigned char *md, SHA256_CTX *c);
| ^~~~~~~~~~~~
image.c:518:20: error: variable ‘n’ set but not used [-Werror=unused-but-set-variable=]
518 | int rc, i, n;
| ^
fileio.c: In function ‘fileio_read_engine_key’:
fileio.c:69:9: warning: ‘ENGINE_load_builtin_engines’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
69 | ENGINE_load_builtin_engines();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from fileio.c:42:
/usr/include/openssl/engine.h:358:28: note: declared here
358 | OSSL_DEPRECATEDIN_3_0 void ENGINE_load_builtin_engines(void);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c:70:9: warning: ‘ENGINE_by_id’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
70 | e = ENGINE_by_id(engine);
| ^
/usr/include/openssl/engine.h:336:31: note: declared here
336 | OSSL_DEPRECATEDIN_3_0 ENGINE *ENGINE_by_id(const char *id);
| ^~~~~~~~~~~~
fileio.c:86:9: warning: ‘ENGINE_init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
86 | if (!ENGINE_init(e)) {
| ^~
/usr/include/openssl/engine.h:622:27: note: declared here
622 | OSSL_DEPRECATEDIN_3_0 int ENGINE_init(ENGINE *e);
| ^~~~~~~~~~~
fileio.c:92:9: warning: ‘ENGINE_load_private_key’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
92 | pkey = ENGINE_load_private_key(e, filename, ui, NULL);
| ^~~~
/usr/include/openssl/engine.h:640:11: note: declared here
640 | EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
| ^~~~~~~~~~~~~~~~~~~~~~~
fileio.c:93:9: warning: ‘ENGINE_finish’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
93 | ENGINE_finish(e);
| ^~~~~~~~~~~~~
/usr/include/openssl/engine.h:630:27: note: declared here
630 | OSSL_DEPRECATEDIN_3_0 int ENGINE_finish(ENGINE *e);
| ^~~~~~~~~~~~~
fileio.c:96:9: warning: ‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
96 | ENGINE_free(e);
| ^~~~~~~~~~~
/usr/include/openssl/engine.h:493:27: note: declared here
493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
| ^~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [Makefile:837: sbverify-image.o] Error 1
make[3]: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
make[3]: *** [Makefile:781: sbvarsign-image.o] Error 1
cc1: all warnings being treated as errors
make[3]: *** [Makefile:613: sbkeysync-image.o] Error 1
cc1: all warnings being treated as errors
make[3]: *** [Makefile:725: sbsign-image.o] Error 1
cc1: all warnings being treated as errors
make[3]: *** [Makefile:557: sbattach-image.o] Error 1
cc1: all warnings being treated as errors
make[3]: *** [Makefile:669: sbsiglist-image.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/sbsigntool-0.9.4/src'
make[2]: *** [Makefile:384: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/sbsigntool-0.9.4'
make[1]: *** [Makefile:325: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/sbsigntool-0.9.4'
dh_auto_build: error: make -j128 returned exit code 2
make: *** [debian/rules:13: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2