Bug#1097170: libcitygml: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:30:39 GMT 2025


Package: src:libcitygml
Version: 2.5.2-1
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/libcitygml_2.5.2-1_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

[...]
      |                                                        ^~~~~~~~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/enum_type_bitmask.h:50:33: note: in definition of macro ‘ENUM_CLASS_BITWISE_OPERATORS_DEFS’
   50 | /*constexpr*/ LIBCITYGML_EXPORT type_name operator|(type_name l, type_name r); \
      |                                 ^~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/cityobject.h:144:56: error: ‘CityObjectsType’ in ‘class citygml::CityObject’ does not name a type
  144 | ENUM_CLASS_BITWISE_OPERATORS_DEFS(citygml::CityObject::CityObjectsType);
      |                                                        ^~~~~~~~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/enum_type_bitmask.h:51:33: note: in definition of macro ‘ENUM_CLASS_BITWISE_OPERATORS_DEFS’
   51 | /*constexpr*/ LIBCITYGML_EXPORT type_name operator&(type_name l, type_name r); \
      |                                 ^~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/cityobject.h:144:56: error: ‘CityObjectsType’ in ‘class citygml::CityObject’ does not name a type
  144 | ENUM_CLASS_BITWISE_OPERATORS_DEFS(citygml::CityObject::CityObjectsType);
      |                                                        ^~~~~~~~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/enum_type_bitmask.h:52:33: note: in definition of macro ‘ENUM_CLASS_BITWISE_OPERATORS_DEFS’
   52 | /*constexpr*/ LIBCITYGML_EXPORT type_name operator^(type_name l, type_name r);\
      |                                 ^~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/cityobject.h:144:56: error: ‘CityObjectsType’ in ‘class citygml::CityObject’ does not name a type
  144 | ENUM_CLASS_BITWISE_OPERATORS_DEFS(citygml::CityObject::CityObjectsType);
      |                                                        ^~~~~~~~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/enum_type_bitmask.h:53:33: note: in definition of macro ‘ENUM_CLASS_BITWISE_OPERATORS_DEFS’
   53 | /*constexpr*/ LIBCITYGML_EXPORT type_name operator~(type_name l);
      |                                 ^~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/citymodel.h:23:35: error: ‘CityObjectsType’ is not a member of ‘citygml::CityObject’
   23 |     typedef std::map< CityObject::CityObjectsType, std::vector<const CityObject*> > CityObjectsMap;
      |                                   ^~~~~~~~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/citymodel.h:23:35: error: ‘CityObjectsType’ is not a member of ‘citygml::CityObject’
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/citymodel.h:23:83: error: template argument 1 is invalid
   23 |     typedef std::map< CityObject::CityObjectsType, std::vector<const CityObject*> > CityObjectsMap;
      |                                                                                   ^
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/citymodel.h:23:83: error: template argument 3 is invalid
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/citymodel.h:23:83: error: template argument 4 is invalid
/build/reproducible-path/libcitygml-2.5.2/sources/include/citygml/citymodel.h:40:69: error: ‘citygml::CityObject::CityObjectsType’ has not been declared
   40 |         const ConstCityObjects getAllCityObjectsOfType( CityObject::CityObjectsType type ) const;
      |                                                                     ^~~~~~~~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp: In member function ‘void citygml::CityModel::addToCityObjectsMapRecursive(const citygml::CityObject*)’:
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp:48:34: error: qualified-id in declaration before ‘it’
   48 |         CityObjectsMap::iterator it = m_cityObjectsMap.find(cityObj->getType());
      |                                  ^~
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp:50:13: error: ‘it’ was not declared in this scope; did you mean ‘int’?
   50 |         if (it == m_cityObjectsMap.end()) {
      |             ^~
      |             int
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp:50:36: error: request for member ‘end’ in ‘((citygml::CityModel*)this)->citygml::CityModel::m_cityObjectsMap’, which is of non-class type ‘citygml::CityObjectsMap’ {aka ‘int’}
   50 |         if (it == m_cityObjectsMap.end()) {
      |                                    ^~~
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp:53:39: error: ‘const class citygml::CityObject’ has no member named ‘getType’
   53 |             m_cityObjectsMap[cityObj->getType()] = std::vector<const CityObject*>(tmp);
      |                                       ^~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp: At global scope:
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp:77:28: error: ‘const citygml::ConstCityObjects citygml::CityModel::getAllCityObjectsOfType’ is not a static data member of ‘class citygml::CityModel’
   77 |     const ConstCityObjects CityModel::getAllCityObjectsOfType( CityObject::CityObjectsType type ) const
      |                            ^~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp:77:76: error: ‘CityObjectsType’ is not a member of ‘citygml::CityObject’
   77 |     const ConstCityObjects CityModel::getAllCityObjectsOfType( CityObject::CityObjectsType type ) const
      |                                                                            ^~~~~~~~~~~~~~~
/build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/citymodel.cpp:77:99: error: expected ‘,’ or ‘;’ before ‘const’
   77 |     const ConstCityObjects CityModel::getAllCityObjectsOfType( CityObject::CityObjectsType type ) const
      |                                                                                                   ^~~~~
[ 15%] Building CXX object sources/CMakeFiles/citygml.dir/src/citygml/georeferencedtexture.cpp.o
cd /build/reproducible-path/libcitygml-2.5.2/obj-x86_64-linux-gnu/sources && /usr/bin/c++ -DCITYGML_LIBRARY -DLIBCITYGML_BUILD -DLIBCITYGML_DYNAMIC -DUSE_GDAL -DXERCES_STATIC_LIBRARY -Dcitygml_EXPORTS -I/build/reproducible-path/libcitygml-2.5.2/sources/include -I/usr/include/gdal -g -O2 -ffile-prefix-map=/build/reproducible-path/libcitygml-2.5.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -fPIC -fPIC -MD -MT sources/CMakeFiles/citygml.dir/src/citygml/georeferencedtexture.cpp.o -MF CMakeFiles/citygml.dir/src/citygml/georeferencedtexture.cpp.o.d -o CMakeFiles/citygml.dir/src/citygml/georeferencedtexture.cpp.o -c /build/reproducible-path/libcitygml-2.5.2/sources/src/citygml/georeferencedtexture.cpp
make[3]: *** [sources/CMakeFiles/citygml.dir/build.make:96: sources/CMakeFiles/citygml.dir/src/citygml/citymodel.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/libcitygml-2.5.2/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:132: sources/CMakeFiles/citygml.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/libcitygml-2.5.2/obj-x86_64-linux-gnu'
make[1]: *** [Makefile:169: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/libcitygml-2.5.2/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:18: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-grass-devel mailing list