• Bug#1105603: saint: FTBFS with make --shuffle=reverse: mv: target '/bui

    From Lucas Nussbaum@21:1/5 to All on Tue May 13 21:30:19 2025
    Source: saint
    Version: 2.5.0+dfsg-4
    Severity: minor
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-shuffle

    Hi,

    GNU Make now has a --shuffle option that simulates non-deterministic ordering of target prerequisites. See https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous work in Debian by Santiago Vila: https://people.debian.org/~sanvila/make-shuffle/

    This package fails to build with make --shuffle=reverse.
    This is likely to be caused by a missing dependency in
    debian/rules or an upstream Makefile.

    More information about this mass bug filing is available at https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle

    Relevant part (hopefully):
    make[2]: Entering directory '/build/reproducible-path/saint-2.5.0+dfsg' Makefile:31: update target 'clean' due to: target does not exist
    rm -rf /build/reproducible-path/saint-2.5.0+dfsg/build
    rm -f /build/reproducible-path/saint-2.5.0+dfsg/src/*/*.gch
    Makefile:79: update target 'saint-int-ctrl' due to: target does not exist
    gcc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/saint-2.5.0+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,
    relro -Wl,-z,now -c /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/*.c /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/*.h
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c: In function ‘read_interaction_data’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:28:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    28 | fscanf(fpinter, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:30:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    30 | fscanf(fpinter, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:32:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    32 | fscanf(fpinter, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:34:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    34 | fscanf(fpinter, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c: In function ‘mapPreyToData’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:275:5: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    275 | chdir("LOG");
    | ^~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:281:5: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    281 | chdir("..");
    | ^~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:294:5: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    294 | chdir("LOG");
    | ^~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:300:5: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    300 | chdir("..");
    | ^~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c: In function ‘read_prey_data’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:328:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    328 | fscanf(fpprey, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:331:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    331 | fscanf(fpprey, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c: In function ‘mapIPBaitToData’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:472:5: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    472 | chdir("LOG");
    | ^~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:478:5: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    478 | chdir("..");
    | ^~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:491:5: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    491 | chdir("LOG");
    | ^~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:497:5: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    497 | chdir("..");
    | ^~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c: In function ‘read_bait_data’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:562:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    562 | fscanf(fpbait, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:564:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    564 | fscanf(fpbait, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:566:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    566 | fscanf(fpbait, "%s", buf);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.h:29,
    from /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:1:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c: In function ‘find_unique_interaction’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:123:34: warning: argument 1 range [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
    123 | assert(data->ubait = (char **) calloc(data->nuinter, sizeof(char *)));
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.h:22:
    /usr/include/stdlib.h:675:14: note: in a call to allocation function ‘calloc’ declared here
    675 | extern void *calloc (size_t __nmemb, size_t __size)
    | ^~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:125:33: warning: argument 1 range [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
    125 | assert(data->prob = (float *) calloc(data->nuinter, sizeof(float)));
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stdlib.h:675:14: note: in a call to allocation function ‘calloc’ declared here
    675 | extern void *calloc (size_t __nmemb, size_t __size)
    | ^~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c: In function ‘mapPreyToData’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/initdata.c:243:31: warning: argument 1 range [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
    243 | assert(data->p2i = (int **) calloc(data->nprey, sizeof(int *)));
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/stdlib.h:675:14: note: in a call to allocation function ‘calloc’ declared here
    675 | extern void *calloc (size_t __nmemb, size_t __size)
    | ^~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/printmap.c: In function ‘printMap’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/printmap.c:99:3: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    99 | chdir("MAPPING");
    | ^~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/printmap.c:105:3: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    105 | chdir("..");
    | ^~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/result.c: In function ‘write_result’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/result.c:183:3: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    183 | chdir("RESULT");
    | ^~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/result.c:192:3: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    192 | chdir("..");
    | ^~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c: In function ‘ncol’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c:25:3: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    25 | fgets(buf, sizeof(buf), fp);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c: In function ‘main’:
    /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c:142:3: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    142 | system("mkdir LOG"); /* error logs */
    | ^~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c:143:3: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    143 | system("mkdir MAPPING"); /* mapping logs */
    | ^~~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c:144:3: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    144 | system("mkdir MCMC"); /* posterior samples */
    | ^~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c:145:3: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    145 | system("mkdir RESULT"); /* posterior probabilities, other summaries */
    | ^~~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c:160:3: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    160 | chdir("MCMC");
    | ^~~~~~~~~~~~~ /build/reproducible-path/saint-2.5.0+dfsg/src/SAINTint-ctrl/saint.c:209:3: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    209 | chdir("..");
    | ^~~~~~~~~~~
    mv *.o /build/reproducible-path/saint-2.5.0+dfsg/build
    mv: target '/build/reproducible-path/saint-2.5.0+dfsg/build': No such file or directory
    make[2]: *** [Makefile:80: saint-int-ctrl] Error 1 shuffle=reverse


    The full build log is available from: http://qa-logs.debian.net/2025/05/05/shuffle/reverse/saint_2.5.0+dfsg-4_unstable_reverse.log

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)