The build failure is triggered for other dependend packages like libzypp too,
e.g.:
https://buildd.debian.org/status/package.php?p=libzypp&suite=sid
Various 32-bit architectures are affected, namely: hppa, m68k, sh4 (maybe more).
Problem is, that for all 32-bit binary boost packages, the generated cmake file
starts with:
# Generated by Boost 1.90.0
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
_BOOST_SKIPPED("libboost_program_options.so.1.90.0" "64 bit, need 32")
return()
endif()
See for example /usr/lib/hppa-linux-gnu/cmake/boost_program_options-1.90.0/libboost_program_options-variant-shared.cmake
but the package
(hppa-chroot)root@p100:/# dpkg -L libboost-program-options1.90-dev:hppa
/usr/lib/hppa-linux-gnu/cmake/boost_program_options-1.90.0/boost_program_options-config-version.cmake
/usr/lib/hppa-linux-gnu/cmake/boost_program_options-1.90.0/boost_program_options-config.cmake
/usr/lib/hppa-linux-gnu/cmake/boost_program_options-1.90.0/libboost_program_options-variant-shared.cmake
/usr/lib/hppa-linux-gnu/cmake/boost_program_options-1.90.0/libboost_program_options-variant-static.cmake
/usr/lib/hppa-linux-gnu/libboost_program_options.a
/usr/lib/hppa-linux-gnu/libboost_program_options.so
actually ships (correctly) a 32-bit binary:
(hppa-chroot)root@p100:/# file -L
/usr/lib/hppa-linux-gnu/libboost_program_options.so
/usr/lib/hppa-linux-gnu/libboost_program_options.so: ELF 32-bit MSB shared
object, PA-RISC, 1.1 version 1
(GNU/Linux), dynamically linked,
BuildID[sha1]=f681ee151d80928f58aa2a2757e0b1d72113a283, stripped
So, the generated header "if" clause is wrong for 32-bit architectures.
Adrian Bunk noted:
I don't understand immediately what jam is doing that it gets the wrong
value, but something like the following untested patch might help:
--- boost1.90-1.90.0/debian/rules 2026-04-01 07:53:39.000000000 +0300
+++ boost1.90-1.90.0/debian/rules 2026-04-01 07:53:39.000000000 +0300
@@ -174,7 +174,7 @@
bbv2dir = $(CURDIR)/tools/build
# With --ignore-site-config, can probably drop Build-Conflicts on boost-build.
-JAM = $(b2) $(JOBS) -q -d2 $(JAM_OPT) --layout=system --ignore-site-config
--user-config=$(CURDIR)/user-config.jam debug-symbols=on
+JAM = $(b2) $(JOBS) -q -d2 $(JAM_OPT) --layout=system --ignore-site-config
--user-config=$(CURDIR)/user-config.jam debug-symbols=on
address-model=$(DEB_TARGET_ARCH_BITS)
JAM_DOC = $(b2) $(JOBS) -q -d2 --ignore-site-config
--user-config=$(CURDIR)/user-config-doc.jam