[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1097512: opencc: ftbfs with GCC-15



Package: src:opencc
Version: 1.1.9+ds1-1
Severity: important
Tags: sid forky
User: debian-gcc@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/opencc_1.1.9+ds1-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/opencc-1.1.9+ds1/src/SerializedValues.cpp:85:22: error: ‘valueTotalLength’ was not declared in this scope
   85 |   valueBuffer.resize(valueTotalLength);
      |                      ^~~~~~~~~~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:94:16: error: expected ‘;’ before ‘i’
   94 |   for (uint32_t i = 0; i < numItems; i++) {
      |                ^~
      |                ;
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:94:24: error: ‘i’ was not declared in this scope
   94 |   for (uint32_t i = 0; i < numItems; i++) {
      |                        ^
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:94:28: error: ‘numItems’ was not declared in this scope
   94 |   for (uint32_t i = 0; i < numItems; i++) {
      |                            ^~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:96:5: error: ‘uint16_t’ was not declared in this scope
   96 |     uint16_t numValues = ReadInteger<uint16_t>(fp);
      |     ^~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:96:5: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:99:18: error: expected ‘;’ before ‘j’
   99 |     for (uint16_t j = 0; j < numValues; j++) {
      |                  ^~
      |                  ;
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:99:26: error: ‘j’ was not declared in this scope
   99 |     for (uint16_t j = 0; j < numValues; j++) {
      |                          ^
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:99:30: error: ‘numValues’ was not declared in this scope; did you mean ‘values’?
   99 |     for (uint16_t j = 0; j < numValues; j++) {
      |                              ^~~~~~~~~
      |                              values
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:101:15: error: expected ‘;’ before ‘numValueBytes’
  101 |       uint16_t numValueBytes = ReadInteger<uint16_t>(fp);
      |               ^~~~~~~~~~~~~~
      |               ;
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:102:23: error: ‘numValueBytes’ was not declared in this scope
  102 |       pValueBuffer += numValueBytes;
      |                       ^~~~~~~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp: At global scope:
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:113:52: error: ‘uint16_t’ was not declared in this scope
  113 |                                        std::vector<uint16_t>* valueBytes,
      |                                                    ^~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:113:52: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:113:60: error: template argument 1 is invalid
  113 |                                        std::vector<uint16_t>* valueBytes,
      |                                                            ^
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:113:60: error: template argument 2 is invalid
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:114:40: error: ‘uint32_t’ has not been declared
  114 |                                        uint32_t* valueTotalLength) const {
      |                                        ^~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:114:40: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp: In member function ‘void opencc::SerializedValues::ConstructBuffer(std::string*, int*, int*) const’:
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:120:40: error: ‘uint32_t’ does not name a type
  120 |       *valueTotalLength += static_cast<uint32_t>(value.length()) + 1;
      |                                        ^~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:120:40: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:129:19: error: request for member ‘push_back’ in ‘* valueBytes’, which is of non-class type ‘int’
  129 |       valueBytes->push_back(static_cast<uint16_t>(value.length() + 1));
      |                   ^~~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:129:41: error: ‘uint16_t’ does not name a type
  129 |       valueBytes->push_back(static_cast<uint16_t>(value.length() + 1));
      |                                         ^~~~~~~~
/build/reproducible-path/opencc-1.1.9+ds1/src/SerializedValues.cpp:129:41: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
make[3]: *** [src/CMakeFiles/libopencc.dir/build.make:250: src/CMakeFiles/libopencc.dir/SerializedValues.cpp.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/opencc-1.1.9+ds1/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:1231: src/CMakeFiles/libopencc.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/opencc-1.1.9+ds1/obj-x86_64-linux-gnu'
make[1]: *** [Makefile:169: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/opencc-1.1.9+ds1/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j1 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:14: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2


Reply to: