#1130801 deal.ii: checks for the boost version it was compiled with but doesn't depend on it

#1130801#5
Date:
2026-03-15 08:51:22 UTC
From:
To:
Hi,

I was inspecting why the autopkgtest of deal.ii fails in the boost 1.90
transition, and at the same time the binNMU's of deal.ii are not
migrating. The scheduled autopkgtests fail [1, 2] and are hinting at a
missing versioned dependency somewhere in the binaries of deal.ii. The
error can be found below. It seems to me that the right binary of
deal.ii should either:
a. drop the check for the boost version and rely on our autopkgtests to
catch issues
b. encode the dependency during building of deal.ii on the proper boost
binary with a version, such that the binaries of boost and deal.ii have
to migrate together and the migration software knows things have to be
scheduled together.

The test passes in unstable (on amd64 and ppc64) where both updates are
available at the same time. The test also passes in testing (on amd64
and ppc64) if I allow both boost-defaults and deal.ii from unstable.

Paul

[1] https://ci.debian.net/packages/d/deal.ii/testing/amd64/69521860/
[2] https://ci.debian.net/packages/d/deal.ii/testing/amd64/69531253/

133s [ 50%] Building CXX object CMakeFiles/step-50.dir/step-50.cc.o
135s In file included from
/usr/include/deal.II/base/conditional_ostream.h:18,
135s                  from
/tmp/autopkgtest-lxc.szhuzm4m/downtmp/autopkgtest_tmp/examples/step-50/step-50.cc:26:
135s /usr/include/deal.II/base/config.h:695:17: error: static assertion
failed: The version number of boost that you are compiling with does not
match the version number of boost found during deal.II's configuration
step. This leads to difficult to understand bugs and is not supported.
Please check that you have set up your application with the same version
of boost as deal.II.
135s   695 |   BOOST_VERSION == 100000 * DEAL_II_BOOST_VERSION_MAJOR +
135s       |                 ^
135s /usr/include/deal.II/base/config.h:695:17: note: the comparison
reduces to ‘(108300 == 109000)’
150s make[2]: *** [CMakeFiles/step-50.dir/build.make:79:
CMakeFiles/step-50.dir/step-50.cc.o] Error 1