[Debichem-devel] Bug#1133558: molds: ftbfs with GCC-16
Emanuele Rocca
ema at debian.org
Mon Apr 13 14:07:29 BST 2026
Package: src:molds
Version: 0.3.1-3
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16
Hi,
molds 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/molds_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.
[...]
110 | catch(MolDS_base::MolDSException ex){
| ^~
In file included from mndo/Mndo.cpp:38:
mndo/../mpi/AsyncCommunicator.h: In instantiation of ‘void MolDS_mpi::AsyncCommunicator::Run() [with T = double]’:
mndo/Mndo.cpp:3577:50: required from here
3577 | boost::thread communicationThread( boost::bind(&MolDS_mpi::AsyncCommunicator::Run<double>, &asyncCommunicator) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mndo/../mpi/AsyncCommunicator.h:62:43: warning: catching polymorphic type ‘class MolDS_base::MolDSException’ by value [-Wcatch-value=]
62 | catch(MolDS_base::MolDSException ex){
| ^~
mndo/../mpi/AsyncCommunicator.h:32:11: warning: unused variable ‘mpiRank’ [-Wunused-variable]
32 | int mpiRank = MolDS_mpi::MpiProcess::GetInstance()->GetRank();
| ^~~~~~~
cndo/../mpi/MpiProcess.h: In instantiation of ‘void MolDS_mpi::MpiProcess::SplitMessage2Chunks(std::vector<Chunk>&, int, T*, MolDS_mpi::molds_mpi_int) const [with T = const double; MolDS_mpi::molds_mpi_int = long int]’:
cndo/../mpi/MpiProcess.h:39:32: required from ‘void MolDS_mpi::MpiProcess::Send(int, int, const T*, MolDS_mpi::molds_mpi_int) [with T = double; MolDS_mpi::molds_mpi_int = long int]’
39 | this->SplitMessage2Chunks(chunks, tag, values, num);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
cndo/../mpi/AsyncCommunicator.h:38:58: required from ‘void MolDS_mpi::AsyncCommunicator::Run() [with T = double]’
38 | MolDS_mpi::MpiProcess::GetInstance()->Send(mInfo.dest,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
39 | mInfo.tag,
| ~~~~~~~~~~
40 | reinterpret_cast<T*>(mInfo.vectorPtr),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 | mInfo.num);
| ~~~~~~~~~~
cndo/Cndo2.cpp:1446:50: required from here
1446 | boost::thread communicationThread( boost::bind(&MolDS_mpi::AsyncCommunicator::Run<double>, &asyncCommunicator) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cndo/../mpi/MpiProcess.h:177:41: warning: narrowing conversion of ‘num’ from ‘MolDS_mpi::molds_mpi_int’ {aka ‘long int’} to ‘int’ [-Wnarrowing]
177 | Chunk chunk = {origianlTag, 0, num};
| ^~~
mndo/../mpi/MpiProcess.h: In instantiation of ‘void MolDS_mpi::MpiProcess::SplitMessage2Chunks(std::vector<Chunk>&, int, T*, MolDS_mpi::molds_mpi_int) const [with T = double; MolDS_mpi::molds_mpi_int = long int]’:
mndo/../mpi/MpiProcess.h:53:32: required from ‘void MolDS_mpi::MpiProcess::Recv(int, int, T*, MolDS_mpi::molds_mpi_int) [with T = double; MolDS_mpi::molds_mpi_int = long int]’
53 | this->SplitMessage2Chunks(chunks, tag, values, num);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
mndo/Mndo.cpp:988:52: required from here
988 | MolDS_mpi::MpiProcess::GetInstance()->Recv(source, tag, matrixCIS[k], this->matrixCISdimension);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mndo/../mpi/MpiProcess.h:177:41: warning: narrowing conversion of ‘num’ from ‘MolDS_mpi::molds_mpi_int’ {aka ‘long int’} to ‘int’ [-Wnarrowing]
177 | Chunk chunk = {origianlTag, 0, num};
| ^~~
mndo/../mpi/MpiProcess.h: In instantiation of ‘void MolDS_mpi::MpiProcess::SplitMessage2Chunks(std::vector<Chunk>&, int, T*, MolDS_mpi::molds_mpi_int) const [with T = const double; MolDS_mpi::molds_mpi_int = long int]’:
mndo/../mpi/MpiProcess.h:39:32: required from ‘void MolDS_mpi::MpiProcess::Send(int, int, const T*, MolDS_mpi::molds_mpi_int) [with T = double; MolDS_mpi::molds_mpi_int = long int]’
39 | this->SplitMessage2Chunks(chunks, tag, values, num);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
mndo/Mndo.cpp:997:52: required from here
997 | MolDS_mpi::MpiProcess::GetInstance()->Send(dest, tag, matrixCIS[k], this->matrixCISdimension);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mndo/../mpi/MpiProcess.h:177:41: warning: narrowing conversion of ‘num’ from ‘MolDS_mpi::molds_mpi_int’ {aka ‘long int’} to ‘int’ [-Wnarrowing]
177 | Chunk chunk = {origianlTag, 0, num};
| ^~~
mndo/../mpi/MpiProcess.h: In instantiation of ‘void MolDS_mpi::MpiProcess::AllReduce(const T*, MolDS_mpi::molds_mpi_int, T*, Op) [with T = double; Op = std::plus<double>; MolDS_mpi::molds_mpi_int = long int]’:
mndo/../mpi/MpiProcess.h:105:25: required from ‘void MolDS_mpi::MpiProcess::AllReduce(T*, MolDS_mpi::molds_mpi_int, Op) [with T = double; Op = std::plus<double>; MolDS_mpi::molds_mpi_int = long int]’
105 | this->AllReduce(values, num, tmpValues, op);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mndo/Mndo.cpp:2852:51: required from here
2852 | MolDS_mpi::MpiProcess::GetInstance()->AllReduce(&this->matrixForce[0][0][0], numTransported, std::plus<double>());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mndo/../mpi/MpiProcess.h:92:31: warning: comparison of integer expressions of different signedness: ‘MolDS_mpi::molds_mpi_int’ {aka ‘long int’} and ‘std::vector<MolDS_mpi::MpiProcess::Chunk>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
92 | for(molds_mpi_int i=0; i<chunks.size(); i++){
| ~^~~~~~~~~~~~~~
make[2]: *** [Makefile_GNU:56: obj/Cndo2.o] Error 1
make[2]: *** [Makefile_GNU:56: obj/ZindoS.o] Error 1
make[2]: *** [Makefile_GNU:56: obj/Mndo.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/molds-0.3.1/src'
dh_auto_build: error: cd src && make -j128 INSTALL="install --strip-program=true" -f Makefile_GNU returned exit code 2
make[1]: *** [debian/rules:29: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/molds-0.3.1'
make: *** [debian/rules:20: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
More information about the Debichem-devel
mailing list