• Bug#1066546: scrounge-ntfs: FTBFS: list.c:44:6: error: implicit declara

    From Lucas Nussbaum@21:1/5 to All on Wed Mar 13 13:40:03 2024
    Source: scrounge-ntfs
    Version: 0.9-10
    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 -I.. -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/
    usr/local/include -c -o scrounge_ntfs-scrounge.o `test -f 'scrounge.c' || echo './'`scrounge.c
    list.c: In function ‘printNTFSInfo’:
    list.c:44:6: error: implicit declaration of function ‘lseek64’; did you mean ‘lseek’? [-Werror=implicit-function-declaration]
    44 | if(lseek64(dd, pos, SEEK_SET) == -1)
    | ^~~~~~~
    | lseek
    list.c:45:5: error: implicit declaration of function ‘err’ [-Werror=implicit-function-declaration]
    45 | err(1, "couldn't seek drive");
    | ^~~
    list.c:52:5: error: implicit declaration of function ‘errx’ [-Werror=implicit-function-declaration]
    52 | errx(1, "unexpected end of drive");
    | ^~~~
    list.c:56:24: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 3 has type ‘uint64’ {aka ‘long unsigned int’} [-Wformat=]
    56 | printf(kPrintNTFSInfo, boot->secPerClus, boot->offMFT * boot->secPerClus);
    | ^~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    | |
    | uint64 {aka long unsigned int}
    main.c: In function ‘main’:
    main.c:110:11: error: implicit declaration of function ‘errx’ [-Werror=implicit-function-declaration]
    110 | errx(2, "invalid cluster size (must be between 1 and 128)");
    | ^~~~
    compat.c: In function ‘reallocf’:
    compat.c:292:5: error: implicit declaration of function ‘errx’ [-Werror=implicit-function-declaration]
    292 | errx(1, "out of memory");
    | ^~~~
    main.c:159:9: error: implicit declaration of function ‘err’ [-Werror=implicit-function-declaration]
    159 | err(2, "couldn't change to output directory");
    | ^~~
    main.c:218:7: error: implicit declaration of function ‘warnx’ [-Werror=implicit-function-declaration]
    218 | warnx("ignoring extra arguments");
    | ^~~~~
    posix.c: In function ‘setFileTime’:
    posix.c:81:5: error: implicit declaration of function ‘warn’ [-Werror=implicit-function-declaration]
    81 | warn("couldn't set file times on: %s", encoded);
    | ^~~~
    ntfsx.c: In function ‘ntfsx_cluster_read’:
    ntfsx.c:135:6: error: implicit declaration of function ‘lseek64’; did you mean ‘lseek’? [-Werror=implicit-function-declaration]
    135 | if(lseek64(dd, pos, SEEK_SET) == -1)
    | ^~~~~~~
    | lseek
    misc.c: In function ‘compareFileData’:
    misc.c:202:7: error: implicit declaration of function ‘err’ [-Werror=implicit-function-declaration]
    202 | err(1, "error reading comparison file");
    | ^~~
    ntfsx.c: In function ‘ntfsx_attrib_enum_list’:
    ntfsx.c:322:7: error: implicit declaration of function ‘warnx’ [-Werror=implicit-function-declaration]
    322 | warnx("brain dead, incredibly fragmented file data. skipping");
    | ^~~~~
    ntfsx.c: In function ‘ntfsx_record_read’:
    ntfsx.c:465:9: error: implicit declaration of function ‘warn’ [-Werror=implicit-function-declaration]
    465 | warn("couldn't read mft record from drive");
    | ^~~~
    ntfsx.c:471:30: warning: multi-character character constant [-Wmultichar]
    471 | if(rechead->magic != kNTFS_RecMagic ||
    | ^~~~~~~~~~~~~~
    scrounge.c: In function ‘processMFTRecord’:
    scrounge.c:199:11: error: implicit declaration of function ‘warnx’ [-Werror=implicit-function-declaration]
    199 | warnx("invalid parent directory for file: " FC_PRINTF, basics.filename);
    | ^~~~~
    In file included from usuals.h:49,
    from scrounge.c:20:
    compat.h:304:20: error: implicit declaration of function ‘mkdir’ [-Werror=implicit-function-declaration]
    304 | #define fc_mkdir mkdir
    | ^~~~~
    scrounge.c:221:22: note: in expansion of macro ‘fc_mkdir’
    221 | if(fc_mkdir(basics.filename, DEF_DIR_MODE) == -1)
    | ^~~~~~~~
    scrounge.c:224:13: error: implicit declaration of function ‘warn’ [-Werror=implicit-function-declaration]
    224 | warn("couldn't create directory '" FC_PRINTF "' putting files in parent directory", basics.filename);
    | ^~~~
    scrounge.c:386:21: error: implicit declaration of function ‘err’ [-Werror=implicit-function-declaration]
    386 | err(1, "couldn't write to output file: " FC_PRINTF, basics.filename);
    | ^~~
    scrounge.c: In function ‘scroungeMFT’:
    scrounge.c:528:5: error: implicit declaration of function ‘errx’ [-Werror=implicit-function-declaration]
    528 | errx(2, "invalid mft. past end of partition");
    | ^~~~
    scrounge.c: In function ‘scroungeUsingRaw’:
    scrounge.c:617:18: warning: multi-character character constant [-Wmultichar]
    617 | uint32 magic = kNTFS_RecMagic;
    | ^~~~~~~~~~~~~~
    scrounge.c:636:8: error: implicit declaration of function ‘lseek64’; did you mean ‘lseek’? [-Werror=implicit-function-declaration]
    636 | if(lseek64(pi->device, pos, SEEK_SET) == -1)
    | ^~~~~~~
    | lseek
    scrounge.c: In function ‘processMFTRecord’:
    compat.h:303:20: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    303 | #define fc_chdir chdir
    scrounge.c:229:13: note: in expansion of macro ‘fc_chdir’
    229 | fc_chdir(basics.filename);
    | ^~~~~~~~
    scrounge.c: In function ‘scroungeUsingMFT’:
    compat.h:305:21: warning: ignoring return value of ‘getcwd’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    305 | #define fc_getcwd getcwd
    scrounge.c:575:9: note: in expansion of macro ‘fc_getcwd’
    575 | fc_getcwd(dir, MAX_PATH);
    | ^~~~~~~~~
    compat.h:303:20: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    303 | #define fc_chdir chdir
    scrounge.c:603:5: note: in expansion of macro ‘fc_chdir’
    603 | fc_chdir(dir);
    | ^~~~~~~~
    scrounge.c: In function ‘scroungeUsingRaw’:
    compat.h:305:21: warning: ignoring return value of ‘getcwd’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    305 | #define fc_getcwd getcwd
    scrounge.c:622:9: note: in expansion of macro ‘fc_getcwd’
    622 | fc_getcwd(dir, MAX_PATH);
    | ^~~~~~~~~
    compat.h:303:20: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    303 | #define fc_chdir chdir
    scrounge.c:654:5: note: in expansion of macro ‘fc_chdir’
    654 | fc_chdir(dir);
    | ^~~~~~~~
    cc1: some warnings being treated as errors
    make[3]: *** [Makefile:483: scrounge_ntfs-posix.o] Error 1


    The full build log is available from: http://qa-logs.debian.net/2024/03/13/scrounge-ntfs_0.9-10_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)