• Bug#1105330: grass: FTBFS with make --shuffle=reverse: ERROR: gcc -E -W

    From Lucas Nussbaum@21:1/5 to All on Tue May 13 21:10:10 2025
    Source: grass
    Version: 8.4.1-1
    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[4]: Leaving directory '/build/reproducible-path/grass-8.4.1/scripts/r.mapcalc.simple'
    ../include/Make/Dir.make:48: update target 'r.drain' due to: target is .PHONY make -C r.drain || echo /build/reproducible-path/grass-8.4.1/scripts/r.drain >> /build/reproducible-path/grass-8.4.1/error.log
    ../../include/Make/Html.make:11: update target '/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/docs/man/man1/r.in.srtm.1' due to: target does not exist
    VERSION_NUMBER=8.4.1 /build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/utils/g.html2man.py "/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/docs/html/r.in.srtm.html" "/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-
    gnu/docs/man/man1/r.in.srtm.1"
    ../../include/Make/ScriptRules.make:16: update target '/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/wms_gdal_drv.py' due to: target does not exist
    /usr/bin/install -c -m 644 wms_gdal_drv.py /build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/wms_gdal_drv.py
    ../../include/Make/ScriptRules.make:16: update target '/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/wms_drv.py' due to: target does not exist
    /usr/bin/install -c -m 644 wms_drv.py /build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/wms_drv.py
    ../../include/Make/ScriptRules.make:16: update target '/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/wms_base.py' due to: target does not exist
    /usr/bin/install -c -m 644 wms_base.py /build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/wms_base.py
    make[4]: Entering directory '/build/reproducible-path/grass-8.4.1/scripts/r.drain'
    ../../include/Make/ScriptRules.make:28: update target '/build/reproducible-path/grass-8.4.1/locale/scriptstrings/r.drain_to_translate.c' due to: target does not exist
    GISRC=/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/demolocation/.grassrc84 GISBASE=/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu PATH="/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/bin:/build/
    reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/bin:/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/python:/build/reproducible-path/grass-8.
    4.1/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/bin:/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/bin:/build/reproducible-path/grass-8.4.1/dist.x86_64-
    pc-linux-gnu/scripts:/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/lib:/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C LANG=C LANGUAGE=C g.parser -t r.drain.py | sed s/\"/\\\\\"/g | sed 's/.*/_("&")/' > /build/
    reproducible-path/grass-8.4.1/locale/scriptstrings/r.drain_to_translate.c
    ../../include/Make/Html.make:7: update target '/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/docs/html/r.in.wms.html' due to: target does not exist
    VERSION_NUMBER=8.4.1 VERSION_DATE=2025 MODULE_TOPDIR=../.. \
    python3 /build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/utils/mkhtml.py r.in.wms > /build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/docs/html/r.in.wms.html
    ../../include/Make/ScriptRules.make:16: update target '/build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/srs.pyc' due to: target does not exist
    /usr/bin/install -c -m 644 srs.pyc /build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/srs.pyc
    install: cannot stat 'srs.pyc': No such file or directory
    make[4]: *** [../../include/Make/ScriptRules.make:16: /build/reproducible-path/grass-8.4.1/dist.x86_64-pc-linux-gnu/etc/r.in.wms/srs.pyc] Error 1 shuffle=reverse


    The full build log is available from: http://qa-logs.debian.net/2025/05/05/shuffle/reverse/grass_8.4.1-1_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)