• Bug#1066331: gngb: FTBFS: memory.c:817:26: error: implicit declaration

    From Lucas Nussbaum@21:1/5 to All on Wed Mar 13 13:00:12 2024
    Source: gngb
    Version: 20060309-5
    Severity: serious
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)