• Bug#1066366: libstb: FTBFS: stb_dxt.c:608:7: error: implicit declaratio

    From Lucas Nussbaum@21:1/5 to All on Wed Mar 13 13:10:03 2024
    Source: libstb
    Version: 0.0~git20230129.5736b15+ds-1.1
    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 -Wdate-time -D_FORTIFY_SOURCE=2 -DSTB_DEFINE -DSTB_PERFECT_HASH -DSTB_HERRINGBONE_WANG_TILE_IMPLEMENTATION -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -
    Werror=format-security -fcf-protection -Wall -pedantic -fwrapv -fPIC -o stb_herringbone_wang_tile.o -c stb_herringbone_wang_tile.c
    stb_c_lexer.c:323:20: warning: ‘stb__strchr’ defined but not used [-Wunused-function]
    323 | static const char *stb__strchr(const char *str, int ch)
    | ^~~~~~~~~~~
    stb_herringbone_wang_tile.c:369:41: warning: ‘struct stbhw__process’ declared inside parameter list will not be visible outside of this definition or declaration
    369 | typedef void stbhw__process_rect(struct stbhw__process *p, int xpos, int ypos,
    | ^~~~~~~~~~~~~~ stb_herringbone_wang_tile.c: In function ‘stbhw__process_h_row’: stb_herringbone_wang_tile.c:401:43: warning: passing argument 1 of ‘p->process_h_rect’ from incompatible pointer type [-Wincompatible-pointer-types]
    401 | p->process_h_rect(p, xpos, ypos, a,b,c,d,e,f);
    | ^
    | |
    | stbhw__process * stb_herringbone_wang_tile.c:401:43: note: expected ‘struct stbhw__process *’ but argument is of type ‘stbhw__process *’
    stb_herringbone_wang_tile.c: In function ‘stbhw__process_v_row’: stb_herringbone_wang_tile.c:425:43: warning: passing argument 1 of ‘p->process_v_rect’ from incompatible pointer type [-Wincompatible-pointer-types]
    425 | p->process_v_rect(p, xpos, ypos, a,b,c,d,e,f);
    | ^
    | |
    | stbhw__process * stb_herringbone_wang_tile.c:425:43: note: expected ‘struct stbhw__process *’ but argument is of type ‘stbhw__process *’
    stb_herringbone_wang_tile.c: In function ‘stbhw_build_tileset_from_image’:
    stb_herringbone_wang_tile.c:929:21: warning: assignment to ‘void (*)(struct stbhw__process *, int, int, int, int, int, int, int, int)’ from incompatible pointer type ‘void (*)(stbhw__process *, int, int, int, int, int, int, int, int)
    ’ [-Wincompatible-pointer-types]
    929 | p.process_h_rect = stbhw__parse_h_rect;
    | ^
    stb_herringbone_wang_tile.c:930:21: warning: assignment to ‘void (*)(struct stbhw__process *, int, int, int, int, int, int, int, int)’ from incompatible pointer type ‘void (*)(stbhw__process *, int, int, int, int, int, int, int, int)
    ’ [-Wincompatible-pointer-types]
    930 | p.process_v_rect = stbhw__parse_v_rect;
    | ^
    deprecated/stb.c: In function ‘stb_float_eq’:
    deprecated/stb.c:1428:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    1428 | if (abs(*(int *)&x - *(int *)&y) <= max_ulps) return 1;
    | ^~~~~~~~~
    stb_dxt.c: In function ‘stb_compress_dxt_block’: deprecated/stb.c:1428:26: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    1428 | if (abs(*(int *)&x - *(int *)&y) <= max_ulps) return 1;
    | ^~~~~~~~~
    stb_dxt.c:608:7: error: implicit declaration of function ‘memcpy’ [-Werror=implicit-function-declaration]
    608 | memcpy(data, src, 4*16);
    | ^~~~~~
    stb_dxt.c:89:1: note: include ‘<string.h>’ or provide a declaration of ‘memcpy’
    88 | #include <math.h>
    +++ |+#include <string.h>
    89 | #endif
    stb_dxt.c:608:7: warning: incompatible implicit declaration of built-in function ‘memcpy’ [-Wbuiltin-declaration-mismatch]
    608 | memcpy(data, src, 4*16);
    | ^~~~~~
    stb_dxt.c:608:7: note: include ‘<string.h>’ or provide a declaration of ‘memcpy’
    stb_herringbone_wang_tile.c: In function ‘stbhw_make_template’: stb_herringbone_wang_tile.c:1186:24: warning: assignment to ‘void (*)(struct stbhw__process *, int, int, int, int, int, int, int, int)’ from incompatible pointer type ‘void (*)(stbhw__process *, int, int, int, int, int, int, int,
    int)’ [-Wincompatible-pointer-types]
    1186 | p.process_h_rect = stbhw__corner_process_h_rect;
    | ^
    stb_herringbone_wang_tile.c:1187:24: warning: assignment to ‘void (*)(struct stbhw__process *, int, int, int, int, int, int, int, int)’ from incompatible pointer type ‘void (*)(stbhw__process *, int, int, int, int, int, int, int,
    int)’ [-Wincompatible-pointer-types]
    1187 | p.process_v_rect = stbhw__corner_process_v_rect;
    | ^
    stb_herringbone_wang_tile.c:1189:24: warning: assignment to ‘void (*)(struct stbhw__process *, int, int, int, int, int, int, int, int)’ from incompatible pointer type ‘void (*)(stbhw__process *, int, int, int, int, int, int, int,
    int)’ [-Wincompatible-pointer-types]
    1189 | p.process_h_rect = stbhw__edge_process_h_rect;
    | ^
    stb_herringbone_wang_tile.c:1190:24: warning: assignment to ‘void (*)(struct stbhw__process *, int, int, int, int, int, int, int, int)’ from incompatible pointer type ‘void (*)(stbhw__process *, int, int, int, int, int, int, int,
    int)’ [-Wincompatible-pointer-types]
    1190 | p.process_v_rect = stbhw__edge_process_v_rect;
    | ^
    cc -Wdate-time -D_FORTIFY_SOURCE=2 -DSTB_DEFINE -DSTB_PERFECT_HASH -DSTB_HEXWAVE_IMPLEMENTATION -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-
    security -fcf-protection -Wall -pedantic -fwrapv -fPIC -o stb_hexwave.o -c stb_hexwave.c
    deprecated/stb.c: In function ‘stb_ptrmap_destroy’: deprecated/stb.c:3903:30: warning: statement with no effect [-Wunused-value]
    3903 | #define STB_nodelete(x) 0
    | ^
    deprecated/stb.c:3993:10: note: in expansion of macro ‘STB_nodelete’
    3993 | DISPOSE(a->table[i].k); \
    | ^~~~~~~
    deprecated/stb.c:4203:1: note: in expansion of macro ‘stb_define_hash_base’
    4203 | stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
    | ^~~~~~~~~~~~~~~~~~~~
    deprecated/stb.c: In function ‘stb_ptrmap_remove’: deprecated/stb.c:3903:30: warning: statement with no effect [-Wunused-value]
    3903 | #define STB_nodelete(x) 0
    | ^
    deprecated/stb.c:4115:4: note: in expansion of macro ‘STB_nodelete’
    4115 | DISPOSE(a->table[n].k); \
    | ^~~~~~~
    deprecated/stb.c:4203:1: note: in expansion of macro ‘stb_define_hash_base’
    4203 | stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
    | ^~~~~~~~~~~~~~~~~~~~
    deprecated/stb.c: In function ‘stb_idict_destroy’: deprecated/stb.c:3903:30: warning: statement with no effect [-Wunused-value]
    3903 | #define STB_nodelete(x) 0
    | ^
    deprecated/stb.c:3993:10: note: in expansion of macro ‘STB_nodelete’
    3993 | DISPOSE(a->table[i].k); \
    | ^~~~~~~
    deprecated/stb.c:4230:1: note: in expansion of macro ‘stb_define_hash_base’
    4230 | stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.95f,
    | ^~~~~~~~~~~~~~~~~~~~
    deprecated/stb.c: In function ‘stb_idict_remove’: deprecated/stb.c:3903:30: warning: statement with no effect [-Wunused-value]
    3903 | #define STB_nodelete(x) 0
    | ^
    deprecated/stb.c:4115:4: note: in expansion of macro ‘STB_nodelete’
    4115 | DISPOSE(a->table[n].k); \
    | ^~~~~~~
    deprecated/stb.c:4230:1: note: in expansion of macro ‘stb_define_hash_base’
    4230 | stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.95f,
    | ^~~~~~~~~~~~~~~~~~~~
    deprecated/stb.c: In function ‘stb_uidict_destroy’: deprecated/stb.c:3903:30: warning: statement with no effect [-Wunused-value]
    3903 | #define STB_nodelete(x) 0
    | ^
    deprecated/stb.c:3993:10: note: in expansion of macro ‘STB_nodelete’
    3993 | DISPOSE(a->table[i].k); \
    | ^~~~~~~
    deprecated/stb.c:4257:1: note: in expansion of macro ‘stb_define_hash_base’
    4257 | stb_define_hash_base(STB_noprefix, stb_uidict, STB_nofields, stb_uidict_,stb_uidict_,0.85f,
    | ^~~~~~~~~~~~~~~~~~~~
    deprecated/stb.c: In function ‘stb_uidict_remove’: deprecated/stb.c:3903:30: warning: statement with no effect [-Wunused-value]
    3903 | #define STB_nodelete(x) 0
    | ^
    deprecated/stb.c:4115:4: note: in expansion of macro ‘STB_nodelete’
    4115 | DISPOSE(a->table[n].k); \
    | ^~~~~~~
    deprecated/stb.c:4257:1: note: in expansion of macro ‘stb_define_hash_base’
    4257 | stb_define_hash_base(STB_noprefix, stb_uidict, STB_nofields, stb_uidict_,stb_uidict_,0.85f,
    | ^~~~~~~~~~~~~~~~~~~~
    deprecated/stb.c: In function ‘stb__spmatrix_destroy’: deprecated/stb.c:3903:30: warning: statement with no effect [-Wunused-value]
    3903 | #define STB_nodelete(x) 0
    | ^
    deprecated/stb.c:3993:10: note: in expansion of macro ‘STB_nodelete’
    3993 | DISPOSE(a->table[i].k); \
    | ^~~~~~~
    deprecated/stb.c:4300:1: note: in expansion of macro ‘stb_define_hash_base’
    4300 | stb_define_hash_base(STB_noprefix, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
    | ^~~~~~~~~~~~~~~~~~~~
    deprecated/stb.c: In function ‘stb__spmatrix_remove’: deprecated/stb.c:3903:30: warning: statement with no effect [-Wunused-value]
    3903 | #define STB_nodelete(x) 0
    | ^
    deprecated/stb.c:4115:4: note: in expansion of macro ‘STB_nodelete’
    4115 | DISPOSE(a->table[n].k); \
    | ^~~~~~~
    deprecated/stb.c:4300:1: note: in expansion of macro ‘stb_define_hash_base’
    4300 | stb_define_hash_base(STB_noprefix, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
    | ^~~~~~~~~~~~~~~~~~~~
    cc -Wdate-time -D_FORTIFY_SOURCE=2 -DSTB_DEFINE -DSTB_PERFECT_HASH -DSTB_IMAGE_IMPLEMENTATION -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-
    security -fcf-protection -Wall -pedantic -fwrapv -fPIC -o stb_image.o -c stb_image.c
    deprecated/stb.c: In function ‘stb_dirtree2_from_files_relative’: deprecated/stb.c:3183:56: warning: value computed is not used [-Wunused-value]
    3183 | #define stb_arr_pop(a) ((stb_arr_check(a), (a))[--stb_arrhead(a)->len])
    | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
    deprecated/stb.c:6338:10: note: in expansion of macro ‘stb_arr_pop’
    6338 | stb_arr_pop(descendents);
    | ^~~~~~~~~~~
    cc -Wdate-time -D_FORTIFY_SOURCE=2 -DSTB_DEFINE -DSTB_PERFECT_HASH -DSTB_IMAGE_RESIZE_IMPLEMENTATION -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=
    format-security -fcf-protection -Wall -pedantic -fwrapv -fPIC -o stb_image_resize.o -c stb_image_resize.c
    cc1: some warnings being treated as errors
    make[1]: *** [Makefile:48: stb_dxt.o] Error 1


    The full build log is available from: http://qa-logs.debian.net/2024/03/13/libstb_0.0~git20230129.5736b15+ds-1.1_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)
  • From Debian Bug Tracking System@21:1/5 to All on Fri Mar 15 19:00:01 2024
    This is a multi-part message in MIME format...

    Your message dated Fri, 15 Mar 2024 17:56:23 +0000
    with message-id <E1rlBn5-000Fut-2M@fasolo.debian.org>
    and subject line Bug#1065764: fixed in libstb 0.0~git20230129.5736b15+ds-1.2 has caused the Debian Bug report #1065764,
    regarding libstb: FTBFS: stb_dxt.c:608:7: error: implicit declaration of function ‘memcpy’ [-Werror=implicit-function-declaration]
    to be marked as done.

    This means that you claim that the problem has been dealt with.
    If this is not the case it is now your responsibility to reopen the
    Bug report if necessary, and/or fix the problem forthwith.

    (NB: If you are a system administrator and have no idea what this
    message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org
    immediately.)


    --
    1065764: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1065764
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    Received: (at submit) by bugs.debian.org; 13 Mar 2024 11:49:46 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
    (2021-04-09) on buxtehude.debian.org
    X-Spam-Level:
    X-Spam-Status: No, score=-106.2 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
    DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,
    SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,
    USER_IN_DKIM_WELCOMELIST,USER_IN_DKIM_WHITELIST autolearn=ham
    autolearn_force=no version=3.4.6-bugs.debian.org_2005_01_02 X-Spam-Bayes: score:0.0000 Tokens: new, 75; hammy, 150; neutral, 252; spammy,
    0. spammytokens:
    hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
    0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
    0.000-+--H*RT:311, 0.000-+--H*RT:108
    Return-path: <lucas@debian.org>
    Received: from stravinsky.debian.org ([2001:41b8:2