#1133470 fact++: ftbfs with GCC-16

Package:
src:fact++
Source:
src:fact++
Submitter:
Emanuele Rocca
Date:
2026-04-13 13:04:08 UTC
Severity:
normal
Tags:
#1133470#5
Date:
2026-04-13 13:03:20 UTC
From:
To:
Hi,

fact++ 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/fact++_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.

[...]


Reasoner.cpp: In member function ‘void DlSatTester::restoreBC()’:
Reasoner.cpp:545:32: warning: implicitly-declared ‘ConceptWDep& ConceptWDep::operator=(const ConceptWDep&)’ is deprecated [-Wdeprecated-copy]
  545 |         curConcept = bContext->curConcept;
      |                                ^~~~~~~~~~
ConceptWithDep.h:43:9: note: because ‘ConceptWDep’ has user-provided ‘ConceptWDep::ConceptWDep(const ConceptWDep&)’
   43 |         ConceptWDep ( const ConceptWDep& c ) : Concept(c.Concept), depSet(c.depSet) {}
      |         ^~~~~~~~~~~
In file included from tFastSet.h:23,
                 from RAutomaton.h:27,
                 from tRole.h:31,
                 from dlCompletionTreeArc.h:26,
                 from dlCompletionTree.h:26:
growingArray.h: In instantiation of ‘void growingArray<C>::add(const C&) [with C = ConceptWDep]’:
CWDArray.h:101:46:   required from here
  101 |         void add ( const ConceptWDep& p ) { Base.add(p); }
      |                                             ~~~~~~~~^~~
growingArray.h:74:30: warning: implicitly-declared ‘ConceptWDep& ConceptWDep::operator=(const ConceptWDep&)’ is deprecated [-Wdeprecated-copy]
   74 |                 Body[last++] = entry;
      |                 ~~~~~~~~~~~~~^~~~~~~
ConceptWithDep.h:43:9: note: because ‘ConceptWDep’ has user-provided ‘ConceptWDep::ConceptWDep(const ConceptWDep&)’
   43 |         ConceptWDep ( const ConceptWDep& c ) : Concept(c.Concept), depSet(c.depSet) {}
      |         ^~~~~~~~~~~
In file included from ReasonerNom.h:23,
                 from SaveLoad.cpp:25:
Reasoner.h: In member function ‘void DlSatTester::initBC()’:
Reasoner.h:636:40: warning: implicitly-declared ‘ConceptWDep& ConceptWDep::operator=(const ConceptWDep&)’ is deprecated [-Wdeprecated-copy]
  636 |                 bContext->curConcept = curConcept;
      |                                        ^~~~~~~~~~
In file included from dlDag.h:32,
                 from dlTBox.h:33,
                 from Kernel.h:27,
                 from SaveLoad.cpp:24:
ConceptWithDep.h:43:9: note: because ‘ConceptWDep’ has user-provided ‘ConceptWDep::ConceptWDep(const ConceptWDep&)’
   43 |         ConceptWDep ( const ConceptWDep& c ) : Concept(c.Concept), depSet(c.depSet) {}
      |         ^~~~~~~~~~~
SaveLoad.cpp: In member function ‘void Taxonomy::Save(SaveLoadManager&, const std::set<const TNamedEntry*>&) const’:
SaveLoad.cpp:804:76: warning: unused parameter ‘excluded’ [-Wunused-parameter]
  804 | Taxonomy :: Save ( SaveLoadManager& m, const std::set<const TNamedEntry*>& excluded ) const
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from tFastSet.h:23,
                 from RAutomaton.h:27,
                 from tRole.h:31,
                 from RoleMaster.h:26,
                 from dlTBox.h:31:
growingArray.h: In instantiation of ‘void growingArray<C>::add(const C&) [with C = ConceptWDep]’:
CWDArray.h:101:46:   required from here
  101 |         void add ( const ConceptWDep& p ) { Base.add(p); }
      |                                             ~~~~~~~~^~~
growingArray.h:74:30: warning: implicitly-declared ‘ConceptWDep& ConceptWDep::operator=(const ConceptWDep&)’ is deprecated [-Wdeprecated-copy]
   74 |                 Body[last++] = entry;
      |                 ~~~~~~~~~~~~~^~~~~~~
ConceptWithDep.h:43:9: note: because ‘ConceptWDep’ has user-provided ‘ConceptWDep::ConceptWDep(const ConceptWDep&)’
   43 |         ConceptWDep ( const ConceptWDep& c ) : Concept(c.Concept), depSet(c.depSet) {}
      |         ^~~~~~~~~~~
In file included from Incremental.cpp:24:
tOntologyPrinterLISP.h: In member function ‘virtual void TLISPOntologyPrinter::visit(const TDLAxiomDeclaration&)’:
tOntologyPrinterLISP.h:71:43: error: expected unqualified-id before ‘concept’
   71 |                 if (const TDLConceptName* concept = dynamic_cast<const TDLConceptName*>(decl))
      |                                           ^~~~~~~
tOntologyPrinterLISP.h:72:52: error: expected primary-expression before ‘concept’
   72 |                         o << "(defprimconcept " << concept->getName() << ")\n";
      |                                                    ^~~~~~~
make[2]: *** [../Makefile.include:159: obj/Kernel.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [../Makefile.include:159: obj/Incremental.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/fact++-1.6.5~dfsg/Kernel'
dh_auto_build: error: make -j128 INSTALL="install --strip-program=true" -C Kernel OS=LINUX DEFINES="-Wdate-time -D_FORTIFY_SOURCE=2" returned exit code 2
make[1]: *** [debian/rules:17: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/fact++-1.6.5~dfsg'
make: *** [debian/rules:26: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2