[Debian-zh-dev] Bug#1098036: unicon: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:58:28 GMT 2025


Package: src:unicon
Version: 3.0.4+dfsg1-7
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/unicon_3.0.4+dfsg1-7_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

[...]
xl_hzinput.c:229:3: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  229 |   fread (tt, 1, len, fp);
      |   ^~~~~~~~~~~~~~~~~~~~~~
xl_pinyin.c:1201:27: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness [-Wpointer-sign]
 1201 |                   strcpy (py, pinyin[i] + 1);
      |                           ^~
      |                           |
      |                           u_char * {aka unsigned char *}
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:77:16: note: expected ‘char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
   77 | __NTH (strcpy (__fortify_clang_overload_arg (char *, __restrict, __dest),
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
xl_pinyin.c:1204:61: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
 1204 |               if (!strncmp (py, pytab[ahead][j].py, strlen (py)))
      |                                                             ^~
      |                                                             |
      |                                                             u_char * {aka unsigned char *}
In file included from xl_pinyin.c:30:
/usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
  407 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
xl_pinyin.c:1204:29: warning: pointer targets in passing argument 1 of ‘strncmp’ differ in signedness [-Wpointer-sign]
 1204 |               if (!strncmp (py, pytab[ahead][j].py, strlen (py)))
      |                             ^~
      |                             |
      |                             u_char * {aka unsigned char *}
/usr/include/string.h:159:33: note: expected ‘const char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
  159 | extern int strncmp (const char *__s1, const char *__s2, size_t __n)
      |                     ~~~~~~~~~~~~^~~~
xl_pinyin.c: In function ‘FillBackwardSelection’:
xl_pinyin.c:1359:23: warning: pointer targets in passing argument 2 of ‘strcpy’ differ in signedness [-Wpointer-sign]
 1359 |       strcpy (strbuf, GetPhrase (inmd->sel + inmd->startpos - 1, temp));
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                       |
      |                       u_char * {aka unsigned char *}
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:77:1: note: expected ‘const char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
   77 | __NTH (strcpy (__fortify_clang_overload_arg (char *, __restrict, __dest),
      | ^~~~~
xl_hzinput.c: In function ‘LoadInputMethod’:
xl_hzinput.c:97:3: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   97 |   fread (table->item, sizeof (ITEM), table->TotalChar, fd);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xl_pinyin.c: At top level:
xl_pinyin.c:403:1: warning: ‘SaveSysPhrase’ defined but not used [-Wunused-function]
  403 | SaveSysPhrase (char *pathname, int remove)
      | ^~~~~~~~~~~~~
make[3]: *** [Makefile:24: xl_pinyin.o] Error 1
xl_intcode.c: In function ‘IntCode_FillMatchChars’:
xl_intcode.c:214:13: warning: ‘__builtin_strncpy’ output may be truncated copying 2 bytes from a string of length 255 [-Wstringop-truncation]
  214 |             strncpy (pHzInputTable->seltab[k], temptab[k], 2);
      |             ^
xl_intcode.c:190:13: warning: ‘__builtin_strncpy’ output may be truncated copying 4 bytes from a string of length 255 [-Wstringop-truncation]
  190 |             strncpy (pHzInputTable->seltab[k], temptab[k], 4);
      |             ^
In function ‘LoadInputMethod’,
    inlined from ‘CCE_LoadMethod’ at xl_hzinput.c:716:7:
xl_hzinput.c:75:7: warning: argument 1 null where non-null expected [-Wnonnull]
   75 |       fclose (fd);
      |       ^~~~~~~~~~~
/usr/include/stdio.h: In function ‘CCE_LoadMethod’:
/usr/include/stdio.h:184:12: note: in a call to function ‘fclose’ declared ‘nonnull’
  184 | extern int fclose (FILE *__stream) __nonnull ((1));
      |            ^~~~~~
make[3]: Leaving directory '/build/reproducible-path/unicon-3.0.4+dfsg1/unicon/ImmModules/cce'
make[2]: *** [Makefile:6: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/unicon-3.0.4+dfsg1/unicon'
make[1]: *** [Makefile:6: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/unicon-3.0.4+dfsg1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:16: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the Chinese-developers mailing list