#1115225 libtcod: FTBFS with glibc 2.42: ../../src/libtcod/renderer_xterm.c:95:30: error: expected identifier or '(' before numeric constant

Package:
src:libtcod
Source:
src:libtcod
Submitter:
Aurelien Jarno
Date:
2025-09-19 11:25:02 UTC
Severity:
normal
Tags:
#1115225#5
Date:
2025-09-14 11:00:47 UTC
From:
To:
Dear maintainer,

During a rebuild of all packages in unstable with glibc 2.42 from
experimental, your package failed to build. Below you will find how the
build ends. If required, the full build log is available here:

https://people.debian.org/~aurel32/glibc-2.42/

Fortunately the issue has already been fixed upstream with the following
commit:

https://github.com/libtcod/libtcod/commit/3ce9cd66aa57764c3f3676f5edd58f57f5e9b7dd

About the archive rebuild: The build was made on virtual machines from
AWS, using sbuild, a reduced chroot with only build-essential packages
and glibc 2.42 from experimental.

Regards
Aurelien
--------------------------------------------------------------------------------
[...]
libtool: compile:  gcc -DPACKAGE_NAME=\"libtcod\" -DPACKAGE_TARNAME=\"libtcod\" -DPACKAGE_VERSION=\"1.24.0\" "-DPACKAGE_STRING=\"libtcod 1.24.0\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libtcod\" -DVERSION=\"1.24.0\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_STDLIB_H=1 -DHAVE_MATH_H=1 -DHAVE_STDIO_H=1 -DHAVE_STDARG_H=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_CTYPE_H=1 -DHAVE_WCHAR_H=1 -DHAVE_WCTYPE_H=1 -DHAVE_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_X11_XLIB_H=1 -DHAVE_X11_XATOM_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_DIRENT_H=1 -DHAVE_ERRNO_H=1 -DHAVE_PTHREAD_H=1 -DHAVE_SEMAPHORE_H=1 -DHAVE_DLFCN_H=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_CXX17=1 -I. -I./../../src -I./../../src/vendor -I./../../src/vendor/utf8proc -fvisibility=hidden -DLIBTCOD_EXPORTS -DNDEBUG -O3 -Wall -Wextra -Wpedantic -I/usr/include/SDL2 -D_REENTRANT -Wdate-time -D_FORTIFY_SOURCE=2 -I./../../src -I./../../src/vendor -I./../../src/vendor/utf8proc -fvisibility=hidden -DLIBTCOD_EXPORTS -DNDEBUG -O3 -Wall -Wextra -Wpedantic -I/usr/include/SDL2 -D_REENTRANT -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../../src/libtcod/renderer_xterm.c  -fPIC -DPIC -o ../../src/libtcod/.libs/libtcod_la-renderer_xterm.o
libtool: compile:  gcc -DPACKAGE_NAME=\"libtcod\" -DPACKAGE_TARNAME=\"libtcod\" -DPACKAGE_VERSION=\"1.24.0\" "-DPACKAGE_STRING=\"libtcod 1.24.0\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libtcod\" -DVERSION=\"1.24.0\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_STDLIB_H=1 -DHAVE_MATH_H=1 -DHAVE_STDIO_H=1 -DHAVE_STDARG_H=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_CTYPE_H=1 -DHAVE_WCHAR_H=1 -DHAVE_WCTYPE_H=1 -DHAVE_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_X11_XLIB_H=1 -DHAVE_X11_XATOM_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_DIRENT_H=1 -DHAVE_ERRNO_H=1 -DHAVE_PTHREAD_H=1 -DHAVE_SEMAPHORE_H=1 -DHAVE_DLFCN_H=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_CXX17=1 -I. -I./../../src -I./../../src/vendor -I./../../src/vendor/utf8proc -fvisibility=hidden -DLIBTCOD_EXPORTS -DNDEBUG -O3 -Wall -Wextra -Wpedantic -I/usr/include/SDL2 -D_REENTRANT -Wdate-time -D_FORTIFY_SOURCE=2 -I./../../src -I./../../src/vendor -I./../../src/vendor/utf8proc -fvisibility=hidden -DLIBTCOD_EXPORTS -DNDEBUG -O3 -Wall -Wextra -Wpedantic -I/usr/include/SDL2 -D_REENTRANT -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../../src/libtcod/renderer_sdl2.c -o ../../src/libtcod/libtcod_la-renderer_sdl2.o >/dev/null 2>&1
In file included from /usr/include/x86_64-linux-gnu/bits/termios.h:84,
                 from /usr/include/termios.h:39,
                 from ../../src/libtcod/renderer_xterm.c:45:
../../src/libtcod/renderer_xterm.c: In function 'ucs4_to_utf8':
../../src/libtcod/renderer_xterm.c:95:30: error: expected identifier or '(' before numeric constant
   95 |   static const unsigned char B10000000 = 128;
      |                              ^~~~~~~~~
../../src/libtcod/renderer_xterm.c: In function 'xterm_handle_input':
../../src/libtcod/renderer_xterm.c:567:37: warning: unused parameter 'arg' [-Wunused-parameter]
  567 | static int xterm_handle_input(void* arg) {
      |                               ~~~~~~^~~
../../src/libtcod/renderer_xterm.c: In function 'xterm_on_window_change_signal':
../../src/libtcod/renderer_xterm.c:592:47: warning: unused parameter 'signum' [-Wunused-parameter]
  592 | static void xterm_on_window_change_signal(int signum) {
      |                                           ~~~~^~~~~~
../../src/libtcod/renderer_xterm.c: In function 'xterm_on_hangup_signal':
../../src/libtcod/renderer_xterm.c:609:40: warning: unused parameter 'signum' [-Wunused-parameter]
  609 | static void xterm_on_hangup_signal(int signum) {
      |                                    ~~~~^~~~~~
../../src/libtcod/renderer_xterm.c: In function 'TCOD_renderer_init_xterm':
../../src/libtcod/renderer_xterm.c:628:74: warning: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Wcalloc-transposed-args]
  628 |   struct TCOD_RendererXterm* data = context->contextdata_ = calloc(sizeof(*data), 1);
      |                                                                          ^
../../src/libtcod/renderer_xterm.c:628:74: note: earlier argument should specify number of elements, later size of each element
make[1]: *** [Makefile:1587: ../../src/libtcod/libtcod_la-renderer_xterm.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/<<PKGBUILDDIR>>/buildsys/autotools'
dh_auto_build: error: cd buildsys/autotools && make -j2 returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

#1115225#14
Date:
2025-09-17 19:22:16 UTC
From:
To:
В письме от воскресенье, 14 сентября 2025 г. 14:00:47 MSK пользователь
Aurelien Jarno написал:

Thak you for reporting the bug!

I've released a new version of the package with suggested patch applied. It
should hopefully solve the problem.

If problem remains, please let me know.

#1115225#19
Date:
2025-09-17 19:22:16 UTC
From:
To:
В письме от воскресенье, 14 сентября 2025 г. 14:00:47 MSK пользователь
Aurelien Jarno написал:

Thak you for reporting the bug!

I've released a new version of the package with suggested patch applied. It
should hopefully solve the problem.

If problem remains, please let me know.

#1115225#24
Date:
2025-09-19 11:22:25 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
libtcod, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1115225@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Nikolay Shaplov <dhyan@nataraj.su> (supplier of updated libtcod package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 17 Sep 2025 21:10:10 +0300
Source: libtcod
Architecture: source
Version: 1.24.0+dfsg-2
Distribution: unstable
Urgency: medium
Maintainer: Nikolay Shaplov <dhyan@nataraj.su>
Changed-By: Nikolay Shaplov <dhyan@nataraj.su>
Closes: 1115225
Changes:
 libtcod (1.24.0+dfsg-2) unstable; urgency=medium
 .
   * Fix glibc 2.42 build. (Closes: #1115225);
   * Fix some lintian warnings.
Checksums-Sha1:
 7caf0e559a9d5e15f0ed5c4b827c7765e399169a 1922 libtcod_1.24.0+dfsg-2.dsc
 9c7f6c72ad8af3d18ada4fb7f0e91b7b7eb378b0 7784 libtcod_1.24.0+dfsg-2.debian.tar.xz
 cbaf3fe1a08a63a4f5056a219416b8b11bd093b8 10293 libtcod_1.24.0+dfsg-2_source.buildinfo
Checksums-Sha256:
 f5234e158505ffa146876dd0872963522c6ecad77fb3f0064b547ed8ff261a8f 1922 libtcod_1.24.0+dfsg-2.dsc
 98af8c62b83f147439afe5e56accf4acba25666ae41e5a966e3a6d7d6a2b6d23 7784 libtcod_1.24.0+dfsg-2.debian.tar.xz
 041c83bb0049b565f2151cdbed599111c8a7dbc7462afefb52dd2a0de5cb8c5b 10293 libtcod_1.24.0+dfsg-2_source.buildinfo
Files:
 0f95b6d4d8de0b106a3da27d63dd862d 1922 libs optional libtcod_1.24.0+dfsg-2.dsc
 382bb6ffa118dc5511b1e8829d2b665a 7784 libs optional libtcod_1.24.0+dfsg-2.debian.tar.xz
 9312016e0237a6b90d9e78a3b39d71ee 10293 libs optional libtcod_1.24.0+dfsg-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEQGIgyLhVKAI3jM5BH1x6i0VWQxQFAmjNNYQQHGJhZ2VAZGVi
aWFuLm9yZwAKCRAfXHqLRVZDFDQgC/9MhSIyxYvvBP50o4LCQzrHh/jO8Dwusnn/
SyD95/Y+O9EPljEIyxH6ugvWqeahxVDD4fG625nOfjzv6G1iv6M1zr+xAMdXpyWV
8Z8oiQlIk7OW2KLSqTzx2Qpj1Uc4Hp4RiP1CAzWPe6xxLlXBahg4SP6LNjw3ML4r
GWLsieOq2d9oYUKXygsKPOQ2LxPQyqgZA3G6+ehNp3vkz3kg7OkiU5SU2+xaLion
pc1IHLw9Hlw+WokIHSugV6RyAV1S+zXjtD0COSxR9x02TUqHZ6RcWErZdF4BOLIB
8sKXAwqYqRFuYlAWoQOvJSHYwjJFYVdjhiD1VslTmKXsXmYa91zAMU/XlWfv8OeO
y2HiF5AqOzCbMj+xuXNoI958cnQcI/ykmtklrwrDn845IflA2VNx1rqFx7fc3g+r
BTysyHamMZ8WxqBg4r3a0dIsYteoJgVRmRvrE+SObJi9PMVXO9zO5vhOozdhuZai
v+dLj+YRMm0tjfKu6ly1OXnmV/Behuc=
=3tI3
-----END PGP SIGNATURE-----