Bug#1066331: gngb: FTBFS: memory.c:817:26: error: implicit declaration of function ‘movie_add_pad’ [-Werror=implicit-function-declaration]

Lucas Nussbaum lucas at debian.org
Wed Mar 13 11:38:47 GMT 2024


Source: gngb
Version: 20060309-5
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at 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 -DHAVE_CONFIG_H -I. -I..   -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 -DSDL_YUV -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DSDL_GL  -O3  -Wno-unused -funroll-loops -fstrength-reduce                           -ffast-math -falign-functions=2 -falign-jumps=2                           -falign-loops=2 -fomit-frame-pointer -Wall  -c -o rom.o rom.c
> In file included from message.c:23:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from message.c:21:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> In file included from rom.h:23,
>                  from cpu.c:22:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from global.h:23:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> In file included from memory.h:23,
>                  from memory.c:24:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from memory.c:23:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> In file included from interrupt.h:22,
>                  from interrupt.c:21:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from interrupt.c:20:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> In file included from message.c:28:
> video_std.h:54:17: warning: inline function ‘draw_obj_std’ declared but never defined
>    54 | __inline__ void draw_obj_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~
> video_std.h:53:17: warning: inline function ‘draw_spr_std’ declared but never defined
>    53 | __inline__ void draw_spr_std(Uint16 *buf,GB_SPRITE *sp);
>       |                 ^~~~~~~~~~~~
> video_std.h:52:17: warning: inline function ‘draw_win_std’ declared but never defined
>    52 | __inline__ void draw_win_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~
> video_std.h:51:17: warning: inline function ‘draw_back_std’ declared but never defined
>    51 | __inline__ void draw_back_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~
> video_std.h:49:17: warning: inline function ‘draw_obj_col_std’ declared but never defined
>    49 | __inline__ void draw_obj_col_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:48:17: warning: inline function ‘draw_spr_col_std’ declared but never defined
>    48 | __inline__ void draw_spr_col_std(Uint16 *buf,GB_SPRITE *sp);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:47:17: warning: inline function ‘draw_win_col_std’ declared but never defined
>    47 | __inline__ void draw_win_col_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:46:17: warning: inline function ‘draw_back_col_std’ declared but never defined
>    46 | __inline__ void draw_back_col_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~~
> video_std.h:44:17: warning: inline function ‘draw_obj_sgb_std’ declared but never defined
>    44 | __inline__ void draw_obj_sgb_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:43:17: warning: inline function ‘draw_spr_sgb_std’ declared but never defined
>    43 | __inline__ void draw_spr_sgb_std(Uint16 *buf,GB_SPRITE *sp);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:42:17: warning: inline function ‘draw_win_sgb_std’ declared but never defined
>    42 | __inline__ void draw_win_sgb_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:41:17: warning: inline function ‘draw_back_sgb_std’ declared but never defined
>    41 | __inline__ void draw_back_sgb_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~~
> In file included from video_std.h:22:
> vram.h:108:18: warning: inline function ‘get_nb_spr’ declared but never defined
>   108 | __inline__ Uint8 get_nb_spr(void);
>       |                  ^~~~~~~~~~
> memory.c:74:25: warning: data definition has no type or storage class
>    74 | Sint16 joy_x_min=-32767;joy_x_max=32767;joy_y_min=-32767;joy_y_max=32767;
>       |                         ^~~~~~~~~
> memory.c:74:25: warning: type defaults to ‘int’ in declaration of ‘joy_x_max’ [-Wimplicit-int]
> memory.c:74:41: warning: data definition has no type or storage class
>    74 | Sint16 joy_x_min=-32767;joy_x_max=32767;joy_y_min=-32767;joy_y_max=32767;
>       |                                         ^~~~~~~~~
> memory.c:74:41: warning: type defaults to ‘int’ in declaration of ‘joy_y_min’ [-Wimplicit-int]
> memory.c:74:58: warning: data definition has no type or storage class
>    74 | Sint16 joy_x_min=-32767;joy_x_max=32767;joy_y_min=-32767;joy_y_max=32767;
>       |                                                          ^~~~~~~~~
> memory.c:74:58: warning: type defaults to ‘int’ in declaration of ‘joy_y_max’ [-Wimplicit-int]
> In file included from interrupt.c:25:
> cpu.h:83:17: warning: inline function ‘cpu_run’ declared but never defined
>    83 | __inline__ void cpu_run(void);
>       |                 ^~~~~~~
> cpu.h:82:18: warning: inline function ‘gbcpu_exec_one’ declared but never defined
>    82 | __inline__ Uint8 gbcpu_exec_one(void);
>       |                  ^~~~~~~~~~~~~~
> In file included from interrupt.c:24:
> vram.h:108:18: warning: inline function ‘get_nb_spr’ declared but never defined
>   108 | __inline__ Uint8 get_nb_spr(void);
>       |                  ^~~~~~~~~~
> In file included from emu.h:22,
>                  from emu.c:32:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from emu.c:30:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> interrupt.c: In function ‘gblcdc_update3’:
> interrupt.c:511:1: warning: control reaches end of non-void function [-Wreturn-type]
>   511 | }
>       | ^
> memory.c: In function ‘update_gb_pad’:
> memory.c:817:26: error: implicit declaration of function ‘movie_add_pad’ [-Werror=implicit-function-declaration]
>   817 |     if (conf.save_movie) movie_add_pad(gb_pad);
>       |                          ^~~~~~~~~~~~~
> cpu.c: In function ‘gbcpu_exec_one’:
> In file included from rom.h:23,
>                  from rom.c:38:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> cpu.c:881:14: warning: self-comparison always evaluates to false [-Wtautological-compare]
>   881 |           ((A>A)?SET_FLAG(FLAG_C):UNSET_FLAG(FLAG_NC));
>       |              ^
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from global.h:23:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> memory.c:819:12: error: implicit declaration of function ‘movie_get_next_pad’ [-Werror=implicit-function-declaration]
>   819 |     gb_pad=movie_get_next_pad();
>       |            ^~~~~~~~~~~~~~~~~~
> cpu.c:882:21: warning: self-comparison always evaluates to false [-Wtautological-compare]
>   882 |           (((A&0x0f)>(A&0x0f))?SET_FLAG(FLAG_H):UNSET_FLAG(FLAG_NH));
>       |                     ^
> memory.c: In function ‘mem_write_ff’:
> memory.c:984:11: error: implicit declaration of function ‘gbserial_write’; did you mean ‘gbserial_init’? [-Werror=implicit-function-declaration]
>   984 |           gbserial_write(SB);
>       |           ^~~~~~~~~~~~~~
>       |           gbserial_init
> rom.c: In function ‘open_rom’:
> rom.c:124:11: error: implicit declaration of function ‘zip_file_open_next_rom’ [-Werror=implicit-function-declaration]
>   124 |       if (zip_file_open_next_rom(stream->stream)<0) return -1;
>       |           ^~~~~~~~~~~~~~~~~~~~~~
> In file included from rom.c:43:
> vram.h: At top level:
> In file included from main.c:32:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from main.c:25:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> vram.h:108:18: warning: inline function ‘get_nb_spr’ declared but never defined
>   108 | __inline__ Uint8 get_nb_spr(void);
>       |                  ^~~~~~~~~~
> In file included from memory.c:28:
> vram.h: At top level:
> In file included from rom.c:41:
> cpu.h:83:17: warning: inline function ‘cpu_run’ declared but never defined
>    83 | __inline__ void cpu_run(void);
>       |                 ^~~~~~~
> cpu.h:82:18: warning: inline function ‘gbcpu_exec_one’ declared but never defined
>    82 | __inline__ Uint8 gbcpu_exec_one(void);
>       |                  ^~~~~~~~~~~~~~
> vram.h:108:18: warning: inline function ‘get_nb_spr’ declared but never defined
>   108 | __inline__ Uint8 get_nb_spr(void);
>       |                  ^~~~~~~~~~
> In file included from memory.c:26:
> cpu.h:83:17: warning: inline function ‘cpu_run’ declared but never defined
>    83 | __inline__ void cpu_run(void);
>       |                 ^~~~~~~
> cpu.h:82:18: warning: inline function ‘gbcpu_exec_one’ declared but never defined
>    82 | __inline__ Uint8 gbcpu_exec_one(void);
>       |                  ^~~~~~~~~~~~~~
> In file included from emu.c:44:
> video_std.h:54:17: warning: inline function ‘draw_obj_std’ declared but never defined
>    54 | __inline__ void draw_obj_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~
> video_std.h:53:17: warning: inline function ‘draw_spr_std’ declared but never defined
>    53 | __inline__ void draw_spr_std(Uint16 *buf,GB_SPRITE *sp);
>       |                 ^~~~~~~~~~~~
> video_std.h:52:17: warning: inline function ‘draw_win_std’ declared but never defined
>    52 | __inline__ void draw_win_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~
> video_std.h:51:17: warning: inline function ‘draw_back_std’ declared but never defined
>    51 | __inline__ void draw_back_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~
> video_std.h:49:17: warning: inline function ‘draw_obj_col_std’ declared but never defined
>    49 | __inline__ void draw_obj_col_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:48:17: warning: inline function ‘draw_spr_col_std’ declared but never defined
>    48 | __inline__ void draw_spr_col_std(Uint16 *buf,GB_SPRITE *sp);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:47:17: warning: inline function ‘draw_win_col_std’ declared but never defined
>    47 | __inline__ void draw_win_col_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:46:17: warning: inline function ‘draw_back_col_std’ declared but never defined
>    46 | __inline__ void draw_back_col_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~~
> video_std.h:44:17: warning: inline function ‘draw_obj_sgb_std’ declared but never defined
>    44 | __inline__ void draw_obj_sgb_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:43:17: warning: inline function ‘draw_spr_sgb_std’ declared but never defined
>    43 | __inline__ void draw_spr_sgb_std(Uint16 *buf,GB_SPRITE *sp);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:42:17: warning: inline function ‘draw_win_sgb_std’ declared but never defined
>    42 | __inline__ void draw_win_sgb_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~
> video_std.h:41:17: warning: inline function ‘draw_back_sgb_std’ declared but never defined
>    41 | __inline__ void draw_back_sgb_std(Uint16 *buf);
>       |                 ^~~~~~~~~~~~~~~~~
> In file included from emu.c:38:
> cpu.h:83:17: warning: inline function ‘cpu_run’ declared but never defined
>    83 | __inline__ void cpu_run(void);
>       |                 ^~~~~~~
> cpu.h:82:18: warning: inline function ‘gbcpu_exec_one’ declared but never defined
>    82 | __inline__ Uint8 gbcpu_exec_one(void);
>       |                  ^~~~~~~~~~~~~~
> In file included from emu.c:35:
> vram.h:108:18: warning: inline function ‘get_nb_spr’ declared but never defined
>   108 | __inline__ Uint8 get_nb_spr(void);
>       |                  ^~~~~~~~~~
> emu.c: In function ‘open_conf’:
> emu.c:284:5: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
>   284 |     fgets(buf,510,f);
>       |     ^~~~~~~~~~~~~~~~
> In file included from main.c:37:
> vram.h:108:18: warning: inline function ‘get_nb_spr’ declared but never defined
>   108 | __inline__ Uint8 get_nb_spr(void);
>       |                  ^~~~~~~~~~
> In file included from main.c:35:
> cpu.h:83:17: warning: inline function ‘cpu_run’ declared but never defined
>    83 | __inline__ void cpu_run(void);
>       |                 ^~~~~~~
> cpu.h:82:18: warning: inline function ‘gbcpu_exec_one’ declared but never defined
>    82 | __inline__ Uint8 gbcpu_exec_one(void);
>       |                  ^~~~~~~~~~~~~~
> In file included from emu.h:22,
>                  from frame_skip.c:34:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from frame_skip.c:31:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> cpu.c: In function ‘cpu_run’:
> cpu.c:2913:24: error: implicit declaration of function ‘gbserial_read’; did you mean ‘gbserial_send’? [-Werror=implicit-function-declaration]
>  2913 |                     SB=gbserial_read();
>       |                        ^~~~~~~~~~~~~
>       |                        gbserial_send
> cpu.c:2920:21: error: implicit declaration of function ‘gbserial_write’; did you mean ‘gbserial_init’? [-Werror=implicit-function-declaration]
>  2920 |                     gbserial_write(SB);
>       |                     ^~~~~~~~~~~~~~
>       |                     gbserial_init
> gcc -DHAVE_CONFIG_H -I. -I..   -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 -DSDL_YUV -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DSDL_GL  -O3  -Wno-unused -funroll-loops -fstrength-reduce                           -ffast-math -falign-functions=2 -falign-jumps=2                           -falign-loops=2 -fomit-frame-pointer -Wall  -c -o serial.o serial.c
> gcc -DHAVE_CONFIG_H -I. -I..   -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 -DSDL_YUV -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DSDL_GL  -O3  -Wno-unused -funroll-loops -fstrength-reduce                           -ffast-math -falign-functions=2 -falign-jumps=2                           -falign-loops=2 -fomit-frame-pointer -Wall  -c -o sgb.o sgb.c
> gcc -DHAVE_CONFIG_H -I. -I..   -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 -DSDL_YUV -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DSDL_GL  -O3  -Wno-unused -funroll-loops -fstrength-reduce                           -ffast-math -falign-functions=2 -falign-jumps=2                           -falign-loops=2 -fomit-frame-pointer -Wall  -c -o sound.o sound.c
> emu.c:301:13: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
>   301 |             strncpy(*((char **) config_var[i].var),val,strlen(val)+1);
>       |             ^
> emu.c:301:56: note: length computed here
>   301 |             strncpy(*((char **) config_var[i].var),val,strlen(val)+1);
>       |                                                        ^~~~~~~~~~~
> In file included from memory.h:23,
>                  from sgb.c:22:
> global.h:28: warning: "__inline__" redefined
>    28 | #define __inline__ inline
>       | 
> In file included from /usr/include/SDL/SDL_stdinc.h:118,
>                  from /usr/include/SDL/SDL_main.h:29,
>                  from /usr/include/SDL/SDL.h:29,
>                  from sgb.c:20:
> /usr/include/SDL/begin_code.h:112: note: this is the location of the previous definition
>   112 |     #define __inline__ __inline__
>       | 
> cc1: some warnings being treated as errors
> make[3]: *** [Makefile:388: rom.o] Error 1


The full build log is available from:
http://qa-logs.debian.net/2024/03/13/gngb_20060309-5_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the Pkg-games-devel mailing list