Bug#1066246: lcm: FTBFS: emit_cpp.c:306:19: error: implicit declaration of function ‘_exit’ [-Werror=implicit-function-declaration]

2024-03-22 Thread Bo YU

Tags: patch

Hi,
On Wed, Mar 13, 2024 at 12:40:02PM +0100, Lucas Nussbaum wrote:

Source: lcm
Version: 1.3.1+repack1-7
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

This is most likely caused by a change in dpkg 1.22.6, that enabled
-Werror=implicit-function-declaration. For more information, see
https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration

Relevant part (hopefully):

gcc -DPACKAGE_NAME=\"lcm\" -DPACKAGE_TARNAME=\"lcm\" -DPACKAGE_VERSION=\"1.3.1\" -DPACKAGE_STRING=\"lcm\ 1.3.1\" 
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lcm\" -DVERSION=\"1.3.1\" -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/\" -I.  -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread  -Wdate-time -D_FORTIFY_SOURCE=2 -g -std=gnu99 -Wall 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT -Wno-unused-parameter -Wno-format-zero-length -Wshadow -g -O2 -Werror=implicit-function-declaration 
-ffile-prefix-map=/<>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o emit_csharp.o emit_csharp.c
emit_cpp.c: In function ‘emit_header_start’:
emit_cpp.c:306:19: error: implicit declaration of function ‘_exit’ 
[-Werror=implicit-function-declaration]
  306 |   _exit(1);
  |   ^
emit_cpp.c:306:19: warning: incompatible implicit declaration of built-in 
function ‘_exit’ [-Wbuiltin-declaration-mismatch]
In function ‘ensure_token_capacity’,
inlined from ‘tokenize_next_internal’ at tokenize.c:325:14:
tokenize.c:127:28: warning: argument 2 range [18446744071562067968, 
18446744073709551615] exceeds maximum object size 9223372036854775807 
[-Walloc-size-larger-than=]
  127 | t->token = (char*) realloc(t->token, t->token_capacity);
  |^~~~
In file included from tokenize.c:1:
/usr/include/stdlib.h: In function ‘tokenize_next_internal’:
/usr/include/stdlib.h:564:14: note: in a call to allocation function ‘realloc’ 
declared here
  564 | extern void *realloc (void *__ptr, size_t __size)
  |  ^~~
gcc -DPACKAGE_NAME=\"lcm\" -DPACKAGE_TARNAME=\"lcm\" -DPACKAGE_VERSION=\"1.3.1\" -DPACKAGE_STRING=\"lcm\ 1.3.1\" 
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lcm\" -DVERSION=\"1.3.1\" -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/\" -I.  -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread  -Wdate-time -D_FORTIFY_SOURCE=2 -g -std=gnu99 -Wall 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT -Wno-unused-parameter -Wno-format-zero-length -Wshadow -g -O2 -Werror=implicit-function-declaration 
-ffile-prefix-map=/<>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o emit_python.o emit_python.c
gcc -DPACKAGE_NAME=\"lcm\" -DPACKAGE_TARNAME=\"lcm\" -DPACKAGE_VERSION=\"1.3.1\" -DPACKAGE_STRING=\"lcm\ 1.3.1\" 
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lcm\" -DVERSION=\"1.3.1\" -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/\" -I.  -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread  -Wdate-time -D_FORTIFY_SOURCE=2 -g -std=gnu99 -Wall 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT -Wno-unused-parameter -Wno-format-zero-length -Wshadow -g -O2 -Werror=implicit-function-declaration 
-ffile-prefix-map=/<>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o emit_lua.o emit_lua.c
emit_python.c: In function ‘emit_package’:
emit_python.c:702:33: warning: ‘__builtin___sprintf_chk’ may write a 
terminating nul past the end of the destination [-Wformat-overflow=]
  702 | sprintf(package_dir, "%s%s%s", package_dir_prefix, pdname,
  | ^
In file included from /usr/include/stdio.h:906,
 from emit_python.c:1:
In function ‘sprintf’,
inlined from ‘emit_package’ at emit_python.c:702:5:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:30:10: note: 
‘__builtin___sprintf_chk’ output 2 or more bytes (assuming 4097) into a 
destination of size 4096
   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
  |  

Bug#1066246: lcm: FTBFS: emit_cpp.c:306:19: error: implicit declaration of function ‘_exit’ [-Werror=implicit-function-declaration]

2024-03-13 Thread Lucas Nussbaum
Source: lcm
Version: 1.3.1+repack1-7
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

This is most likely caused by a change in dpkg 1.22.6, that enabled
-Werror=implicit-function-declaration. For more information, see
https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration

Relevant part (hopefully):
> gcc -DPACKAGE_NAME=\"lcm\" -DPACKAGE_TARNAME=\"lcm\" 
> -DPACKAGE_VERSION=\"1.3.1\" -DPACKAGE_STRING=\"lcm\ 1.3.1\" 
> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lcm\" 
> -DVERSION=\"1.3.1\" -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/\" -I.  -I/usr/include/glib-2.0 
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread  -Wdate-time 
> -D_FORTIFY_SOURCE=2 -g -std=gnu99 -Wall -D_FILE_OFFSET_BITS=64 
> -D_LARGEFILE_SOURCE -D_REENTRANT -Wno-unused-parameter 
> -Wno-format-zero-length -Wshadow -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/<>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c 
> -o emit_csharp.o emit_csharp.c
> emit_cpp.c: In function ‘emit_header_start’:
> emit_cpp.c:306:19: error: implicit declaration of function ‘_exit’ 
> [-Werror=implicit-function-declaration]
>   306 |   _exit(1);
>   |   ^
> emit_cpp.c:306:19: warning: incompatible implicit declaration of built-in 
> function ‘_exit’ [-Wbuiltin-declaration-mismatch]
> In function ‘ensure_token_capacity’,
> inlined from ‘tokenize_next_internal’ at tokenize.c:325:14:
> tokenize.c:127:28: warning: argument 2 range [18446744071562067968, 
> 18446744073709551615] exceeds maximum object size 9223372036854775807 
> [-Walloc-size-larger-than=]
>   127 | t->token = (char*) realloc(t->token, t->token_capacity);
>   |^~~~
> In file included from tokenize.c:1:
> /usr/include/stdlib.h: In function ‘tokenize_next_internal’:
> /usr/include/stdlib.h:564:14: note: in a call to allocation function 
> ‘realloc’ declared here
>   564 | extern void *realloc (void *__ptr, size_t __size)
>   |  ^~~
> gcc -DPACKAGE_NAME=\"lcm\" -DPACKAGE_TARNAME=\"lcm\" 
> -DPACKAGE_VERSION=\"1.3.1\" -DPACKAGE_STRING=\"lcm\ 1.3.1\" 
> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lcm\" 
> -DVERSION=\"1.3.1\" -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/\" -I.  -I/usr/include/glib-2.0 
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread  -Wdate-time 
> -D_FORTIFY_SOURCE=2 -g -std=gnu99 -Wall -D_FILE_OFFSET_BITS=64 
> -D_LARGEFILE_SOURCE -D_REENTRANT -Wno-unused-parameter 
> -Wno-format-zero-length -Wshadow -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/<>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c 
> -o emit_python.o emit_python.c
> gcc -DPACKAGE_NAME=\"lcm\" -DPACKAGE_TARNAME=\"lcm\" 
> -DPACKAGE_VERSION=\"1.3.1\" -DPACKAGE_STRING=\"lcm\ 1.3.1\" 
> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lcm\" 
> -DVERSION=\"1.3.1\" -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/\" -I.  -I/usr/include/glib-2.0 
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread  -Wdate-time 
> -D_FORTIFY_SOURCE=2 -g -std=gnu99 -Wall -D_FILE_OFFSET_BITS=64 
> -D_LARGEFILE_SOURCE -D_REENTRANT -Wno-unused-parameter 
> -Wno-format-zero-length -Wshadow -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/<>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c 
> -o emit_lua.o emit_lua.c
> emit_python.c: In function ‘emit_package’:
> emit_python.c:702:33: warning: ‘__builtin___sprintf_chk’ may write a 
> terminating nul past the end of the destination [-Wformat-overflow=]
>   702 | sprintf(package_dir, "%s%s%s", package_dir_prefix, pdname,
>   | ^
> In file included from /usr/include/stdio.h:906,
>  from emit_python.c:1:
> In function ‘sprintf’,
> inlined from ‘emit_package’ at emit_python.c:702:5:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:30:10: note: 
> ‘__builtin___sprintf_chk’ output 2 or more bytes (assuming 4097) into a 
> destination of size 4096
>30 |   return