[Debian-med-packaging] Bug#1143661: indelible: FTBFS: src/paml.cpp:473:20: error: reference to 'identity' is ambiguous

Santiago Vila sanvila at debian.org
Wed Aug 5 12:23:59 BST 2026


Package: src:indelible
Version: 1.03-7
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202608/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:indelible, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: no obvious need to run autopoint
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: configure.ac: no need to run autopoint (confirmed)
autoreconf: running: /usr/bin/autoconf --force
autoreconf: configure.ac: not running autoheader: no config headers
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:4: installing './compile'
configure.ac:16: installing './config.guess'
configure.ac:16: installing './config.sub'
configure.ac:2: installing './install-sh'
configure.ac:2: installing './missing'
Makefile.am:2: warning: source file 'src/indelible.cpp' is in a subdirectory,
Makefile.am:2: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least one source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled.  For now, the corresponding output
automake: object file(s) will be placed in the top-level directory.  However, this
automake: behavior may change in a future Automake major version, with object
automake: files being placed in the same subdirectory as the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibility.
Makefile.am:8: warning: source file 'src/control.cpp' is in a subdirectory,
Makefile.am:8: but option 'subdir-objects' is disabled
Makefile.am:8: warning: source file 'src/models.cpp' is in a subdirectory,
Makefile.am:8: but option 'subdir-objects' is disabled
Makefile.am:8: warning: source file 'src/paml.cpp' is in a subdirectory,
Makefile.am:8: but option 'subdir-objects' is disabled
Makefile.am:8: warning: source file 'src/randoms.cpp' is in a subdirectory,
Makefile.am:8: but option 'subdir-objects' is disabled
Makefile.am: installing './depcomp'
autoreconf: configure.ac: not running make: --make not given
autoreconf: Leaving directory '.'
   dh_auto_configure
	./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking whether UID '995' is supported by ustar format... yes
checking whether GID '995' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports the include directive... yes (GNU style)
checking for gcc... x86_64-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether x86_64-linux-gnu-gcc accepts -g... yes
checking for x86_64-linux-gnu-gcc option to enable C23 features... none needed
checking whether x86_64-linux-gnu-gcc understands -c and -o together... yes
checking dependency style of x86_64-linux-gnu-gcc... none
checking how to run the C preprocessor... x86_64-linux-gnu-gcc -E
checking whether the compiler supports GNU C++... yes
checking whether x86_64-linux-gnu-g++ accepts -g... yes
checking dependency style of x86_64-linux-gnu-g++... none
checking for cos in -lm... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for size_t... yes
checking for int32_t... yes
checking for uint32_t... yes
checking for _Bool... no
checking for stdbool.h that conforms to C99 or later... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking whether malloc (0) returns nonnull... yes
checking for limits.h... yes
checking for floor... yes
checking for pow... yes
checking for sqrt... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
   dh_auto_build
	make -j2
make[1]: Entering directory '/<<PKGBUILDDIR>>'
x86_64-linux-gnu-g++ -DPACKAGE_NAME=\"indelible\" -DPACKAGE_TARNAME=\"indelible\" -DPACKAGE_VERSION=\"1.03\" -DPACKAGE_STRING=\"indelible\ 1.03\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"indelible\" -DVERSION=\"1.03\" -DHAVE_LIBM=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_STDBOOL_H=1 -DHAVE_MALLOC=1 -DHAVE_LIMITS_H=1 -DHAVE_FLOOR=1 -DHAVE_POW=1 -DHAVE_SQRT=1 -I.  -Isrc -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o indelible-indelible.o `test -f 'src/indelible.cpp' || echo './'`src/indelible.cpp
In file included from src/randoms.cpp:31,
                 from src/paml.cpp:41,
                 from src/models.cpp:35,
                 from src/control.cpp:38,
                 from src/indelible.cpp:135:
src/MersenneTwister.h: In member function ‘MTRand::uint32 MTRand::randInt()’:
src/MersenneTwister.h:187:25: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  187 |         register uint32 s1;
      |                         ^~
src/MersenneTwister.h: In member function ‘void MTRand::seed(uint32*, uint32)’:
src/MersenneTwister.h:232:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  232 |         register int i = 1;
      |                      ^
src/MersenneTwister.h:233:25: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  233 |         register uint32 j = 0;
      |                         ^
src/MersenneTwister.h:234:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  234 |         register int k = ( N > seedLength ? N : seedLength );
      |                      ^
src/MersenneTwister.h: In member function ‘void MTRand::initialize(uint32)’:
src/MersenneTwister.h:273:26: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  273 |         register uint32 *s = state;
      |                          ^
src/MersenneTwister.h:274:26: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  274 |         register uint32 *r = state;
      |                          ^
src/MersenneTwister.h:275:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  275 |         register int i = 1;
      |                      ^
src/MersenneTwister.h: In member function ‘void MTRand::reload()’:
src/MersenneTwister.h:289:26: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  289 |         register uint32 *p = state;
      |                          ^
src/MersenneTwister.h:290:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  290 |         register int i;
      |                      ^
src/MersenneTwister.h:291:20: warning: arithmetic between different enumeration types ‘MTRand::<unnamed enum>’ and ‘MTRand::<unnamed enum>’ is deprecated [-Wdeprecated-enum-enum-conversion]
  291 |         for( i = N - M; i--; ++p )
      |                  ~~^~~
src/MersenneTwister.h:294:32: warning: arithmetic between different enumeration types ‘MTRand::<unnamed enum>’ and ‘MTRand::<unnamed enum>’ is deprecated [-Wdeprecated-enum-enum-conversion]
  294 |                 *p = twist( p[M-N], p[0], p[1] );
      |                               ~^~
src/MersenneTwister.h:295:24: warning: arithmetic between different enumeration types ‘MTRand::<unnamed enum>’ and ‘MTRand::<unnamed enum>’ is deprecated [-Wdeprecated-enum-enum-conversion]
  295 |         *p = twist( p[M-N], p[0], state[0] );
      |                       ~^~
src/MersenneTwister.h: In member function ‘void MTRand::save(uint32*) const’:
src/MersenneTwister.h:395:26: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  395 |         register uint32 *sa = saveArray;
      |                          ^~
src/MersenneTwister.h:396:32: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  396 |         register const uint32 *s = state;
      |                                ^
src/MersenneTwister.h:397:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  397 |         register int i = N;
      |                      ^
src/MersenneTwister.h: In member function ‘void MTRand::load(uint32*)’:
src/MersenneTwister.h:405:26: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  405 |         register uint32 *s = state;
      |                          ^
src/MersenneTwister.h:406:26: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  406 |         register uint32 *la = loadArray;
      |                          ^~
src/MersenneTwister.h:407:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  407 |         register int i = N;
      |                      ^
src/MersenneTwister.h: In function ‘std::ostream& operator<<(std::ostream&, const MTRand&)’:
src/MersenneTwister.h:416:40: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  416 |         register const MTRand::uint32 *s = mtrand.state;
      |                                        ^
src/MersenneTwister.h:417:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  417 |         register int i = mtrand.N;
      |                      ^
src/MersenneTwister.h: In function ‘std::istream& operator>>(std::istream&, MTRand&)’:
src/MersenneTwister.h:425:34: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  425 |         register MTRand::uint32 *s = mtrand.state;
      |                                  ^
src/MersenneTwister.h:426:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  426 |         register int i = mtrand.N;
      |                      ^
src/paml.cpp: In function ‘int PMatUVRoot(double*, double, int, double*, double*, double*)’:
src/paml.cpp:473:20: error: reference to ‘identity’ is ambiguous
  473 |    if (t<1e-100) { identity (P, n); return(0); }
      |                    ^~~~~~~~
  • there are 2 candidates
In file included from /usr/include/c++/16/bits/iterator_concepts.h:40,
                 from /usr/include/c++/16/bits/stl_iterator_base_types.h:73,
                 from /usr/include/c++/16/bits/stl_construct.h:61,
                 from /usr/include/c++/16/bits/char_traits.h:59,
                 from /usr/include/c++/16/ios:44,
                 from /usr/include/c++/16/bits/ostream.h:43,
                 from /usr/include/c++/16/ostream:42,
                 from /usr/include/c++/16/iostream:43,
                 from src/indelible.cpp:116:
    • candidate 1: ‘struct std::identity’
      /usr/include/c++/16/bits/ranges_cmp.h:47:10:
         47 |   struct identity
            |          ^~~~~~~~
    • candidate 2: ‘int identity(double*, int)’
      src/paml.cpp:61:5:
         61 | int identity (double x[], int n)
            |     ^~~~~~~~
make[1]: *** [Makefile:493: indelible-indelible.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j2 returned exit code 2
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------



More information about the Debian-med-packaging mailing list