Bug#1096863: irstlm: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:20:47 GMT 2025


Package: src:irstlm
Version: 6.00.05-5
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/irstlm_6.00.05-5_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
      |                              ^~~~~~
In file included from lmContainer.cpp:31:
lmtable.h:318:22: note:   by 'void irstlm::lmtable::filter(const char*)'
  318 |                 void filter(const char* /* unused parameter: lmfile */) {};
      |                      ^~~~~~
lmContainer.h:244:30: warning: 'virtual void irstlm::lmContainer::check_caches_levels()' was hidden [-Woverloaded-virtual=]
  244 |                 virtual void check_caches_levels() {};
      |                              ^~~~~~~~~~~~~~~~~~~
lmtable.h:209:22: note:   by 'void irstlm::lmtable::check_caches_levels() const'
  209 |                 void check_caches_levels() const;
      |                      ^~~~~~~~~~~~~~~~~~~
lmContainer.h:240:30: warning: 'virtual void irstlm::lmContainer::used_caches()' was hidden [-Woverloaded-virtual=]
  240 |                 virtual void used_caches() {};
      |                              ^~~~~~~~~~~
lmtable.h:188:22: note:   by 'void irstlm::lmtable::used_caches() const'
  188 |                 void used_caches() const;
      |                      ^~~~~~~~~~~
lmContainer.h:114:30: warning: 'virtual bool irstlm::lmContainer::is_inverted()' was hidden [-Woverloaded-virtual=]
  114 |                 virtual bool is_inverted() {
      |                              ^~~~~~~~~~~
lmtable.h:235:29: note:   by 'virtual bool irstlm::lmtable::is_inverted(bool)'
  235 |                 inline bool is_inverted(const bool flag) {
      |                             ^~~~~~~~~~~
lmtable.h:633:37: warning: 'virtual bool irstlm::lmtable::filter(std::string, irstlm::lmtable*, std::string)' was hidden [-Woverloaded-virtual=]
  633 |                 inline virtual bool filter(const string sfilter, lmtable* sublmt, const string skeepunigrams) {
      |                                     ^~~~~~
In file included from lmContainer.cpp:32:
lmmacro.h:122:37: note:   by 'virtual bool irstlm::lmmacro::filter(std::string, irstlm::lmContainer*, std::string)'
  122 |                 inline virtual bool filter(const string sfilter, lmContainer* sublmt, const string skeepunigrams) {
      |                                     ^~~~~~
In file included from lmtable.h:41,
                 from lmclass.h:36,
                 from lmclass.cpp:34:
lmContainer.h:261:30: warning: 'virtual bool irstlm::lmContainer::filter(std::string, irstlm::lmContainer*&, std::string)' was hidden [-Woverloaded-virtual=]
  261 |                 virtual bool filter(const string sfilter, lmContainer*& sublmt, const string skeepunigrams);
      |                              ^~~~~~
lmtable.h:318:22: note:   by 'void irstlm::lmtable::filter(const char*)'
  318 |                 void filter(const char* /* unused parameter: lmfile */) {};
      |                      ^~~~~~
lmContainer.h:244:30: warning: 'virtual void irstlm::lmContainer::check_caches_levels()' was hidden [-Woverloaded-virtual=]
  244 |                 virtual void check_caches_levels() {};
      |                              ^~~~~~~~~~~~~~~~~~~
lmtable.h:209:22: note:   by 'void irstlm::lmtable::check_caches_levels() const'
  209 |                 void check_caches_levels() const;
      |                      ^~~~~~~~~~~~~~~~~~~
lmContainer.h:240:30: warning: 'virtual void irstlm::lmContainer::used_caches()' was hidden [-Woverloaded-virtual=]
  240 |                 virtual void used_caches() {};
      |                              ^~~~~~~~~~~
lmtable.h:188:22: note:   by 'void irstlm::lmtable::used_caches() const'
  188 |                 void used_caches() const;
      |                      ^~~~~~~~~~~
lmContainer.h:114:30: warning: 'virtual bool irstlm::lmContainer::is_inverted()' was hidden [-Woverloaded-virtual=]
  114 |                 virtual bool is_inverted() {
      |                              ^~~~~~~~~~~
lmtable.h:235:29: note:   by 'virtual bool irstlm::lmtable::is_inverted(bool)'
  235 |                 inline bool is_inverted(const bool flag) {
      |                             ^~~~~~~~~~~
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -DTRACE_LEVEL=1 -DMY_ASSERT_FLAG -DHAVE_CXX0 -std=c++0x -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/irstlm-6.00.05=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c cmd.c -o cmd.o >/dev/null 2>&1
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -DTRACE_LEVEL=1 -DMY_ASSERT_FLAG -DHAVE_CXX0 -std=c++0x -Wall -ffor-scope -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DMYCODESIZE=3 -g -O2 -ffile-prefix-map=/build/reproducible-path/irstlm-6.00.05=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c lmclass.cpp -o lmclass.o >/dev/null 2>&1
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -DTRACE_LEVEL=1 -DMY_ASSERT_FLAG -DHAVE_CXX0 -std=c++0x -Wall -ffor-scope -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DMYCODESIZE=3 -g -O2 -ffile-prefix-map=/build/reproducible-path/irstlm-6.00.05=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c lmContainer.cpp -o lmContainer.o >/dev/null 2>&1
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -DTRACE_LEVEL=1 -DMY_ASSERT_FLAG -DHAVE_CXX0 -std=c++0x -Wall -ffor-scope -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DMYCODESIZE=3 -g -O2 -ffile-prefix-map=/build/reproducible-path/irstlm-6.00.05=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c lmmacro.cpp -o lmmacro.o >/dev/null 2>&1
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -DTRACE_LEVEL=1 -DMY_ASSERT_FLAG -DHAVE_CXX0 -std=c++0x -Wall -ffor-scope -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DMYCODESIZE=3 -g -O2 -ffile-prefix-map=/build/reproducible-path/irstlm-6.00.05=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c dictionary.cpp -o dictionary.o >/dev/null 2>&1
make[3]: Leaving directory '/build/reproducible-path/irstlm-6.00.05/src'
make[2]: *** [Makefile:415: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/irstlm-6.00.05'
make[1]: *** [Makefile:347: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/irstlm-6.00.05'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:13: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the debian-science-maintainers mailing list