I am a sysadmin and am updating my systems from Debian 10 to Debian 11.
One of my users reports that he can no longer compile an Espresso
program that compiles without problem in the previous OS version.
We're thinking that the problem might have something to do with the
libboost version. The Debian 10 system has libboost 1.67 installed
and the Debian 11 system has libboost 1.74.
Here are the first errors he's getting:
=====
In file included from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/grid_based_algorithms/lb_particle_coupling.hpp:24,
from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/grid_based_algorithms/lb_particle_coupling.cpp:19:
/usr/include/boost/serialization/optional.hpp:98:8: error: ‘version’
is not a class template
98 | struct version<boost::optional<T> > {
| ^~~~~~~
In file included from
/usr/include/boost/archive/detail/oserializer.hpp:54,
from
/usr/include/boost/mpi/detail/mpi_datatype_oarchive.hpp:14,
from
/usr/include/boost/mpi/detail/mpi_datatype_cache.hpp:13,
from /usr/include/boost/mpi/datatype.hpp:27,
from /usr/include/boost/mpi/communicator.hpp:22,
from /usr/include/boost/mpi/inplace.hpp:17,
from
/usr/include/boost/mpi/collectives/all_reduce.hpp:17,
from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/MpiCallbacks.hpp:30,
from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/communication.hpp:52,
from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/grid_based_algorithms/lb_particle_coupling.cpp:21:
/usr/include/boost/serialization/version.hpp:36:8: error: redefinition
of ‘struct boost::serialization::version<T>’
36 | struct version
| ^~~~~~~
In file included from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/grid_based_algorithms/lb_particle_coupling.hpp:24,
from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/grid_based_algorithms/lb_particle_coupling.cpp:19:
/usr/include/boost/serialization/optional.hpp:98:8: note: previous
definition of ‘struct boost::serialization::version<T>’
98 | struct version<boost::optional<T> > {
| ^~~~~~~
In file included from
/usr/include/boost/mpl/aux_/include_preprocessed.hpp:37,
from /usr/include/boost/mpl/aux_/comparison_op.hpp:35,
from /usr/include/boost/mpl/equal_to.hpp:19,
from /usr/include/boost/serialization/tracking.hpp:24,
from /usr/include/boost/serialization/nvp.hpp:34,
from /usr/include/boost/serialization/optional.hpp:25,
from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/grid_based_algorithms/lb_particle_coupling.hpp:24,
from
/home/mb1343/Documents/PhD/data/primitiveModelMD/espresso_build/src/core/grid_based_algorithms/lb_particle_coupling.cpp:19:
=====
Can anybody point us in the right direction here?
Thanks,
Matthew