• Bug#1105252: cothreads: FTBFS with make --shuffle=reverse: make[4]: ***

    From Lucas Nussbaum@21:1/5 to All on Tue May 13 21:00:04 2025
    XPost: linux.debian.bugs.dist

    Source: cothreads
    Version: 0.10-7
    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]: Entering directory '/build/reproducible-path/cothreads-0.10/src/process'
    ocamldep -I +unix -I .. *.ml *.mli > .depend
    ../../Makefile.template:27: update target 'thread.cmi' due to: target does not exist
    ocamlc -I +unix -I .. -c thread.mli
    ../../Makefile.template:27: update target 'coordinator.cmi' due to: target does not exist
    ocamlc -I +unix -I .. -c coordinator.mli
    ../../Makefile.template:31: update target '../libextunix.cmx' due to: target does not exist
    ocamlopt -I +unix -I .. -c ../libextunix.ml
    ../../Makefile.template:31: update target 'coordinator.cmx' due to: target does not exist
    ocamlopt -I +unix -I .. -c coordinator.ml
    ../../Makefile.template:31: update target 'mutex.cmx' due to: target does not exist
    ocamlopt -I +unix -I .. -c mutex.ml
    ../../Makefile.template:31: update target 'event.cmx' due to: target does not exist
    ocamlopt -I +unix -I .. -c event.ml
    ../../Makefile.template:31: update target 'cothread.cmx' due to: target does not exist
    ocamlopt -I +unix -I .. -c cothread.ml
    ../../Makefile.template:31: update target 'thread.cmx' due to: target does not exist
    ocamlopt -I +unix -I .. -c thread.ml
    ../../Makefile.template:31: update target 'stm.cmx' due to: target does not exist
    ocamlopt -I +unix -I .. -c stm.ml
    ../../Makefile.template:31: update target 'condition.cmx' due to: target does not exist
    ocamlopt -I +unix -I .. -c condition.ml
    Makefile:44: update target 'cothreads.cmxa' due to: target does not exist ocamlopt -I +unix -I .. -a -o cothreads.cmxa libext.cmx libextunix.cmx coordinator.cmx mutex.cmx condition.cmx event.cmx cothread.cmx stm.cmx thread.cmx
    Makefile:44: update target 'threads.cmxa' due to: target does not exist ocamlopt -I +unix -I .. -a -o threads.cmxa libext.cmx libextunix.cmx coordinator.cmx mutex.cmx condition.cmx event.cmx cothread.cmx stm.cmx thread.cmx
    ../../Makefile.template:29: update target 'mutex.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c mutex.ml
    ../../Makefile.template:29: update target 'event.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c event.ml
    ../../Makefile.template:29: update target '../libext.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c ../libext.ml
    ../../Makefile.template:29: update target 'cothread.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c cothread.ml
    ../../Makefile.template:29: update target 'thread.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c thread.ml
    ../../Makefile.template:29: update target 'stm.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c stm.ml
    ../../Makefile.template:29: update target 'condition.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c condition.ml
    ../../Makefile.template:29: update target '../libextunix.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c ../libextunix.ml
    ../../Makefile.template:29: update target 'coordinator.cmo' due to: target does not exist
    ocamlc -I +unix -I .. -c coordinator.ml
    Makefile:42: update target 'cothreads.cma' due to: target does not exist ocamlc -I +unix -I .. -a -o cothreads.cma libext.cmo libextunix.cmo coordinator.cmo mutex.cmo condition.cmo event.cmo cothread.cmo stm.cmo thread.cmo
    Makefile:42: update target 'threads.cma' due to: target does not exist
    ocamlc -I +unix -I .. -a -o threads.cma libext.cmo libextunix.cmo coordinator.cmo mutex.cmo condition.cmo event.cmo cothread.cmo stm.cmo thread.cmo
    ../../Makefile.template:27: update target '../stm.cmi' due to: target does not exist
    ocamlc -I +unix -I .. -c ../stm.mli
    Makefile:47: update target 'stm.cmi' due to: ../stm.cmi
    if [ ! -e stm.cmi -a -e ../stm.cmi ]; then ln -s ../stm.cmi .; fi ../../Makefile.template:27: update target '../cothread.cmi' due to: target does not exist
    ocamlc -I +unix -I .. -c ../cothread.mli
    Makefile:47: update target 'cothread.cmi' due to: ../cothread.cmi
    if [ ! -e cothread.cmi -a -e ../cothread.cmi ]; then ln -s ../cothread.cmi .; fi
    make[4]: *** No rule to make target '../event.mli', needed by '../event.cmi'. Stop.
    make[4]: Leaving directory '/build/reproducible-path/cothreads-0.10/src/process'
    make[3]: *** [Makefile:44: suball] Error 2 shuffle=reverse


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