Bug#1066530: pd-tclpd: FTBFS: tcl_class.c:108:9: error: implicit declaration of function ‘error’; did you mean ‘perror’? [-Werror=implicit-function-declaration]
Source: pd-tclpd
Version: 0.3.1-2
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):
> cc -DPD -I "/usr/include/pd" -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -std=c99 -DHASHTABLE_COPY_KEYS -I/usr/include/tcl8.6 -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 -o tcl_widgetbehavior.pd_linux.o -c tcl_widgetbehavior.c
> swig -v -tcl -o tcl_wrap.c -I/usr/include/pd tclpd.i
> In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
> from /usr/include/stdint.h:26,
> from /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h:9,
> from hashtable.h:7,
> from hashtable.c:1:
> /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"
> | ^~~~~~~
> hashtable.c: In function ‘list_remove’:
> hashtable.c:37:17: warning: passing argument 1 of ‘free’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 37 | free(tmp->k);
> | ~~~^~~
> In file included from hashtable.h:8:
> /usr/include/stdlib.h:568:25: note: expected ‘void *’ but argument is of type ‘const char *’
> 568 | extern void free (void *__ptr) __THROW;
> | ~~~~~~^~~~~
> hashtable.c:51:21: warning: passing argument 1 of ‘free’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
> 51 | free(tmp->k);
> | ~~~^~~
> /usr/include/stdlib.h:568:25: note: expected ‘void *’ but argument is of type ‘const char *’
> 568 | extern void free (void *__ptr) __THROW;
> | ~~~~~~^~~~~
> tcl_class.c: In function ‘tclpd_new’:
> tcl_class.c:108:9: error: implicit declaration of function ‘error’; did you mean ‘perror’? [-Werror=implicit-function-declaration]
> 108 | error("tclpd: class not found: %s", name);
> | ^~~~~
> | perror
> tcl_widgetbehavior.c: In function ‘tclpd_guiclass_vis’:
> tcl_widgetbehavior.c:297:28: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘struct _glist *’ [-Wformat=]
> 297 | snprintf(buf, 32, ".x%lx.c", glist_getcanvas(glist));
> | ~~^ ~~~~~~~~~~~~~~~~~~~~~~
> | | |
> | | struct _glist *
> | long unsigned int
> tclpd.c: In function ‘tclpd_setup’:
> tclpd.c:32:9: error: implicit declaration of function ‘error’; did you mean ‘perror’? [-Werror=implicit-function-declaration]
> 32 | error("tclpd: error loading %s", buf);
> | ^~~~~
> | perror
> tcl_loader.c: In function ‘tclpd_do_load_lib’:
> tcl_loader.c:80:9: error: implicit declaration of function ‘error’; did you mean ‘perror’? [-Werror=implicit-function-declaration]
> 80 | error("tclpd loader: error trying to load %s", filename);
> | ^~~~~
> | perror
> tcl_proxyinlet.c: In function ‘proxyinlet_anything’:
> tcl_proxyinlet.c:26:9: error: implicit declaration of function ‘error’; did you mean ‘perror’? [-Werror=implicit-function-declaration]
> 26 | error("proxyinlet: getbytes: out of memory");
> | ^~~~~
> | perror
> tcl_loader.c:69:50: warning: ‘%s’ directive output may be truncated writing up to 999 bytes into a region of size 984 [-Wformat-truncation=]
> 69 | snprintf(buf, MAXPDSTRING, "set auto_path \"{%s} $auto_path\"", dirbuf);
> | ^~ ~~~~~~
> In file included from /usr/include/stdio.h:906,
> from /usr/include/pd/m_pd.h:82,
> from tclpd.h:1,
> from tcl_loader.c:1:
> In function ‘snprintf’,
> inlined from ‘tclpd_do_load_lib’ at tcl_loader.c:69:5:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 30 and 1029 bytes into a destination of size 1000
> 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 55 | __glibc_objsize (__s), __fmt,
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 56 | __va_arg_pack ());
> | ~~~~~~~~~~~~~~~~~
> Language subdirectory: tcl
> Search paths:
> ./
> /usr/include/pd/
> ./swig_lib/tcl/
> /usr/share/swig/4.2.1/tcl/
> ./swig_lib/
> /usr/share/swig/4.2.1/
> Preprocessing...
> Starting language-specific parse...
> cc1: some warnings being treated as errors
> cc1: some warnings being treated as errors
> cc1: some warnings being treated as errors
> make[1]: *** [/usr/share/pd-lib-builder//Makefile.pdlibbuilder:987: tcl_loader.pd_linux.o] Error 1
The full build log is available from:
http://qa-logs.debian.net/2024/03/13/pd-tclpd_0.3.1-2_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.
Reply to: