[Debian-zh-dev] Bug#1075707: zhcon: ftbfs with GCC-14

Matthias Klose doko at debian.org
Wed Jul 3 13:50:01 BST 2024


Package: src:zhcon
Version: 1:0.2.6-19
Severity: important
Tags: sid trixie
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-14

[This bug is 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-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/zhcon_0.2.6-19_unstable_gccexp.log
The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++ 

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-14/porting_to.html

[...]
winime.cpp:267:32: warning: ‘std::binder2nd<_Operation> std::bind2nd(const _Operation&, const _Tp&) [with _Operation = not_equal_to<char*>; _Tp = char*]’ is deprecated: use 'std::bind' instead [-Wdeprecated-declarations]
  267 |                         bind2nd(not_equal_to < char *>(),
      |                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  268 |                                 (char *) 0xffffffff));
      |                                 ~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/bits/stl_function.h:1435,
                 from /usr/include/c++/14/functional:49,
                 from winime.cpp:26:
/usr/include/c++/14/backward/binders.h:172:5: note: declared here
  172 |     bind2nd(const _Operation& __fn, const _Tp& __x)
      |     ^~~~~~~
winime.cpp:276:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  276 |             p = (char *)(mpIndex2[Index(mInput[0]) * l + Index(c)]);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-nativeinputserver.o `test -f 'nativeinputserver.cpp' || echo './'`nativeinputserver.cpp
g++ -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-inputclient.o `test -f 'inputclient.cpp' || echo './'`inputclient.cpp
g++ -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-inputmanager.o `test -f 'inputmanager.cpp' || echo './'`inputmanager.cpp
g++ -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-inputserver.o `test -f 'inputserver.cpp' || echo './'`inputserver.cpp
g++ -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-candilist.o `test -f 'candilist.cpp' || echo './'`candilist.cpp
g++ -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-uniconinputserver.o `test -f 'uniconinputserver.cpp' || echo './'`uniconinputserver.cpp
g++ -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-nativebarclient.o `test -f 'nativebarclient.cpp' || echo './'`nativebarclient.cpp
g++ -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-mouse.o `test -f 'mouse.cpp' || echo './'`mouse.cpp
gcc -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-encfilter.o `test -f 'encfilter.c' || echo './'`encfilter.c
gcc -DHAVE_CONFIG_H -I. -I..  -DSYSCONF_DIR=\"/etc\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -funsigned-char -O2 -DNDEBUG -Wall -c -o zhcon-iconv_string.o `test -f 'iconv_string.c' || echo './'`iconv_string.c
iconv_string.c: In function ‘iconv_string’:
iconv_string.c:83:29: error: passing argument 2 of ‘iconv’ from incompatible pointer type [-Wincompatible-pointer-types]
   83 |       size_t res = iconv(cd,&inptr,&insize,&outptr,&outsize);
      |                             ^~~~~~
      |                             |
      |                             const char **
In file included from iconv_string.c:6:
/usr/include/iconv.h:49:54: note: expected ‘char ** restrict’ but argument is of type ‘const char **’
   49 | extern size_t iconv (iconv_t __cd, char **__restrict __inbuf,
      |                                    ~~~~~~~~~~~~~~~~~~^~~~~~~
iconv_string.c:135:29: error: passing argument 2 of ‘iconv’ from incompatible pointer type [-Wincompatible-pointer-types]
  135 |       size_t res = iconv(cd,&inptr,&insize,&outptr,&outsize);
      |                             ^~~~~~
      |                             |
      |                             const char **
/usr/include/iconv.h:49:54: note: expected ‘char ** restrict’ but argument is of type ‘const char **’
   49 | extern size_t iconv (iconv_t __cd, char **__restrict __inbuf,
      |                                    ~~~~~~~~~~~~~~~~~~^~~~~~~
make[4]: *** [Makefile:546: zhcon-iconv_string.o] Error 1
make[4]: *** Waiting for unfinished jobs....
inputmanager.cpp: In member function ‘bool InputManager::LoadImm(ImmInfo&)’:
inputmanager.cpp:439:18: warning: variable ‘r’ set but not used [-Wunused-but-set-variable]
  439 |             bool r = LoadImm(*pOld);
      |                  ^
inputmanager.cpp: In member function ‘void InputManager::WriteClient(char)’:
inputmanager.cpp:359:10: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  359 |     write(mTtyFd, &c, 1);
      |     ~~~~~^~~~~~~~~~~~~~~
inputmanager.cpp: In member function ‘void InputManager::WriteClient(std::string&)’:
inputmanager.cpp:363:10: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  363 |     write(mTtyFd, s.c_str(), s.size());
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inputmanager.cpp: In member function ‘void InputManager::ChangeStyle(InputStyle)’:
inputmanager.cpp:785:10: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  785 |     write(mTtyFd, "\0", 1);
      |     ~~~~~^~~~~~~~~~~~~~~~~
make[4]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[3]: *** [Makefile:940: all-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:395: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:336: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Chinese-developers mailing list