Bug#1066390: gravitywars: FTBFS: misc.c:6:9: error: implicit declaration of function ‘keyboard_update’ [-Werror=implicit-function-declaration]

Guillem Jover guillem at debian.org
Fri May 3 18:09:39 BST 2024


Control: tag -1 patch

Hi!

On Wed, 2024-03-13 at 12:51:07 +0100, Lucas Nussbaum wrote:
> Source: gravitywars
> Version: 1.102-35
> Severity: serious
> Justification: FTBFS
> Tags: trixie sid ftbfs
> User: lucas at debian.org
> Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef

> 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):
> > cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DUSE_SDL -DUSE_JOYSTICK `pkg-config sdl --cflags` -Wdate-time -D_FORTIFY_SOURCE=2  -c -o blocks.o blocks.c
> > misc.c: In function ‘waitanykey’:
> > misc.c:6:9: error: implicit declaration of function ‘keyboard_update’ [-Werror=implicit-function-declaration]
> >     6 |   while(keyboard_update())
> >       |         ^~~~~~~~~~~~~~~
> > misc.c:7:5: error: implicit declaration of function ‘vga_waitretrace’ [-Werror=implicit-function-declaration]
> >     7 |     vga_waitretrace();
> >       |     ^~~~~~~~~~~~~~~
> > misc.c: In function ‘doPanic’:
> > misc.c:18:3: error: implicit declaration of function ‘printf’ [-Werror=implicit-function-declaration]
> >    18 |   printf("------------------------------\n"
> >       |   ^~~~~~
> > misc.c:1:1: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’
> >   +++ |+#include <stdio.h>
> >     1 | /* GravityWars 1.1,  (C) Sami Niemi -95 */
> > misc.c:18:3: warning: incompatible implicit declaration of built-in function ‘printf’ [-Wbuiltin-declaration-mismatch]
> >    18 |   printf("------------------------------\n"
> >       |   ^~~~~~
> > misc.c:18:3: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’
> > misc.c:21:3: error: implicit declaration of function ‘keyboard_close’ [-Werror=implicit-function-declaration]
> >    21 |   keyboard_close();
> >       |   ^~~~~~~~~~~~~~
> > misc.c:22:3: error: implicit declaration of function ‘mouse_close’ [-Werror=implicit-function-declaration]
> >    22 |   mouse_close();
> >       |   ^~~~~~~~~~~
> > misc.c:23:3: error: implicit declaration of function ‘exit’ [-Werror=implicit-function-declaration]
> >    23 |   exit(1);
> >       |   ^~~~
> > misc.c:1:1: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> >   +++ |+#include <stdlib.h>
> >     1 | /* GravityWars 1.1,  (C) Sami Niemi -95 */
> > misc.c:23:3: warning: incompatible implicit declaration of built-in function ‘exit’ [-Wbuiltin-declaration-mismatch]
> >    23 |   exit(1);
> >       |   ^~~~
> > misc.c:23:3: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
> > hole.c: In function ‘OLDmakehole’:
> > hole.c:30:3: error: implicit declaration of function ‘vga_setpage’ [-Werror=implicit-function-declaration]
> >    30 |   vga_setpage(page);
> >       |   ^~~~~~~~~~~
> > hole.c: In function ‘makehole’:
> > hole.c:68:3: error: implicit declaration of function ‘getbox’ [-Werror=implicit-function-declaration]
> >    68 |   getbox(x,y,tmpmix);
> >       |   ^~~~~~
> > hole.c:80:3: error: implicit declaration of function ‘changeblocks’ [-Werror=implicit-function-declaration]
> >    80 |   changeblocks(x,y,tmpmix);
> >       |   ^~~~~~~~~~~~
> > pixel.c: In function ‘setpixel’:
> > pixel.c:11:3: error: implicit declaration of function ‘vga_setpage’ [-Werror=implicit-function-declaration]
> >    11 |   vga_setpage(adr >> 16);
> >       |   ^~~~~~~~~~~
> > bullet.c: In function ‘setbullet’:
> > bullet.c:17:3: error: implicit declaration of function ‘vga_setpage’ [-Werror=implicit-function-declaration]
> >    17 |   vga_setpage(page);
> >       |   ^~~~~~~~~~~
> > cc1: some warnings being treated as errors
> > make[2]: *** [<builtin>: misc.o] Error 1

The attached debdiff patch should fix this.

I pondered creating a single header and including all declarations
there to have a smaller delta, but decided to follow the existing
pattern in the project. If you'd prefer to see a single header,
instead of all new headers, I'm happy to rework the patch.

Thanks,
Guillem


More information about the Pkg-games-devel mailing list