#1133558 molds: ftbfs with GCC-16

Package:
src:molds
Source:
src:molds
Submitter:
Emanuele Rocca
Date:
2026-08-23 15:07:02 UTC
Severity:
normal
Tags:
#1133558#5
Date:
2026-04-13 13:07:29 UTC
From:
To:
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

#1133558#12
Date:
2026-08-21 14:45:40 UTC
From:
To:
Dear maintainer,

I've prepared an NMU for molds (versioned as 0.3.1-3.1) and uploaded
it to DELAYED/2. Please feel free to tell me if I should cancel it.

cu
Adrian

#1133558#21
Date:
2026-08-23 15:06:06 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
molds, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1133558@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Adrian Bunk <bunk@debian.org> (supplier of updated molds package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 21 Aug 2026 17:09:00 +0300
Source: molds
Architecture: source
Version: 0.3.1-3.1
Distribution: unstable
Urgency: medium
Maintainer: Debichem Team <debichem-devel@lists.alioth.debian.org>
Changed-By: Adrian Bunk <bunk@debian.org>
Closes: 1133558
Changes:
 molds (0.3.1-3.1) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * Fix FTBFS with GCC 16. (Closes: #1133558)
Checksums-Sha1:
 74655b68a642b29e5e2e7295834899be28dea276 2053 molds_0.3.1-3.1.dsc
 5cd4e1fa96bd150c63dc43770de2cc8516b7f7ae 5504 molds_0.3.1-3.1.debian.tar.xz
Checksums-Sha256:
 6ad58936855b84af90352f9c7dfc58f6058f8901848e342e153279e58f6203b1 2053 molds_0.3.1-3.1.dsc
 3e8324ae1a77732137cc5d3cfb25ff6da8190e4a721f131fd9a55ab434171c20 5504 molds_0.3.1-3.1.debian.tar.xz
Files:
 a08270728c3b220b97784d232c67fe41 2053 science optional molds_0.3.1-3.1.dsc
 ebb62f20fe757919c1bd64443e978bc7 5504 science optional molds_0.3.1-3.1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEOvp1f6xuoR0v9F3wiNJCh6LYmLEFAmqIYW8ACgkQiNJCh6LY
mLFoXBAAwBUVUpamwqDTaONiGPbdbC8ilOJnEZTWO/tD64F22fIu2+/4xjQxHL/Q
woDQhedQx0krM9CUWnM7QwLUqiaMQj79XWPPt/P4qxFMk2HVZqwqHn4iOI44SCNs
rv4VR3fUOcntbUVFDX3QIV7EI8IhGjwgzy6xVDh0RjzTm3CsmFZ+h6XckHqKp3FI
Lx2Ce6/5OWCwb7ZOGy/l+nqn4QHSxG6IjB9B+n3UVaJnK/k8QeijhGxDYWKd1MpK
ejP7W9OTmQF+vQx0vZxdUZJ95WJFWxOi0BktTvFcNy83sYawpvbuDhMiVWHqFVIQ
NilnT9/74WM25dOqyEt/FRbydvGpTcCJimujCTfHi4ytohyzPPmwmZ12P+imDCj/
8G9Liyi4GmzEfSqUyC0bJvWlPK6q1QDLVHQh7d1eluQ1GJfuG5Rm2Y2ZORKjNLRS
KR1LZsvfAwF07AvIcncU6ptJcXNo7iyOlRRq+yr/LXEzXouclhrTATqz+Y4WRrK2
ivhb0sACu0uQGUYtPBAxictTvmU+V2nSJDwdyt/D1IJNBBmeVPIykewghg7QBRUQ
XTPaVDxrnZfUuW8SHnYnQvVlLpKjiHXeTGAGaylGwU1MgAscmGk/Lso8ukZ0NUJ8
iKvdgM8jEkWZZiNaI7fGRP9RKTC/aHr16LK31St0z+8K9PbDwAE=
=6QWN
-----END PGP SIGNATURE-----