Bug#1066375: canna: FTBFS: context.c:105:13: error: implicit declaration of function ‘mkdir’ [-Werror=implicit-function-declaration]

2024-03-24 Thread Andreas Metzler
On 2024-03-13 Lucas Nussbaum  wrote:
> Source: canna
> Version: 3.7p3-20
> Severity: serious
[...]
> 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

Hello,

I started working on this, but stopped. There are dozens of instances of
implicit internal[1] function references without prototype. The whole thing
looks very dated.

I cannot judge how important canna is, popcon is low (29 installations).
It might be time to drop canna, Fedora already did, there has not been
upstream work for more almost 20 years, also it has been maintained with
QA uploads and NMUs since 2008

Cc-ing packages with b-d on libcanna1g-dev to perhaps get some further
input.

cu Andreas


[1] defined without prototype in foo.c, also used in bar.c
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'



Bug#1066375: canna: FTBFS: context.c:105:13: error: implicit declaration of function ‘mkdir’ [-Werror=implicit-function-declaration]

2024-03-13 Thread Lucas Nussbaum
Source: canna
Version: 3.7p3-20
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 -c -g -Wall -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/<>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection 
> -Wdate-time -D_FORTIFY_SOURCE=2   -I../../include -Dlinux -D__amd64__ 
> -D_POSIX_C_SOURCE=199309L  -D_POSIX_SOURCE 
> -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE  
>-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
>   -DFUNCPROTO=15 
> -DNARROWPROTO   context.c
> In file included from /usr/include/inttypes.h:25,
>  from ../../include/canna/sysdep.h:30,
>  from ../../include/canna/RK.h:44,
>  from RKintern.h:58,
>  from context.c:28:
> /usr/include/features.h:195:3: warning: #warning "_BSD_SOURCE and 
> _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
>   195 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use 
> _DEFAULT_SOURCE"
>   |   ^~~
> context.c: In function ‘_RkInitialize’:
> context.c:105:13: error: implicit declaration of function ‘mkdir’ 
> [-Werror=implicit-function-declaration]
>   105 | if (mkdir(path, MKDIR_MODE) < 0 &&
>   | ^
> context.c: At top level:
> context.c:24:13: warning: ‘rcsid’ defined but not used [-Wunused-variable]
>24 | static char rcsid[]="$Id: context.c,v 1.5 2003/09/17 08:50:52 aida_s 
> Exp $";
>   | ^
> cc1: some warnings being treated as errors
> make[5]: *** [Makefile:1123: context.o] Error 1


The full build log is available from:
http://qa-logs.debian.net/2024/03/13/canna_3.7p3-20_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na=ign=7=7=only=ftbfs-20240313=lu...@debian.org=1=1=1=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.