Source: camlmix Version: 1.3.1-6 Severity: minor Tags: trixie sid ftbfs User: lu...@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=random. 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[3]: Entering directory '/build/reproducible-path/camlmix-1.3.1' > making ._d/version.d from version.ml > making ._d/directive.d from directive.ml > making ._d/main.d from main.ml > making ._d/lexer.d from lexer.ml > making ._d/parser_directive.d from parser_directive.ml > making ._ncdi/lexer.di from lexer.mli > OCamlMakefile:929: warning: pattern recipe did not update peer target > '._bcdi/lexer.di'. > making ._ncdi/parser_directive.di from parser_directive.mli > OCamlMakefile:929: warning: pattern recipe did not update peer target > '._bcdi/parser_directive.di'. > OCamlMakefile:845: update target 'lexer.cmi' due to: target does not exist > pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' lexer.mli`; \ > if [ -z "$pp" ]; then \ > echo ocamlfind ocamlc -package camlp-streams \ > -c \ > lexer.mli; \ > ocamlfind ocamlc -package camlp-streams \ > -c \ > lexer.mli; \ > else \ > echo ocamlfind ocamlc -package camlp-streams \ > -c -pp \"$pp \" \ > lexer.mli; \ > ocamlfind ocamlc -package camlp-streams \ > -c -pp "$pp " \ > lexer.mli; \ > fi > ocamlfind ocamlc -package camlp-streams -c lexer.mli > OCamlMakefile:863: update target 'version.cmx' due to: target does not exist > pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' version.ml`; \ > if [ -z "$pp" ]; then \ > echo ocamlfind ocamlopt -package camlp-streams \ > -c version.ml; \ > ocamlfind ocamlopt -package camlp-streams \ > -c version.ml; \ > else \ > echo ocamlfind ocamlopt -package camlp-streams \ > -c -pp \"$pp \" version.ml; \ > ocamlfind ocamlopt -package camlp-streams \ > -c -pp "$pp " version.ml; \ > fi > ocamlfind ocamlopt -package camlp-streams -c version.ml > OCamlMakefile:863: update target 'main.cmi' due to: target does not exist > pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' main.ml`; \ > if [ -z "$pp" ]; then \ > echo ocamlfind ocamlopt -package camlp-streams \ > -c main.ml; \ > ocamlfind ocamlopt -package camlp-streams \ > -c main.ml; \ > else \ > echo ocamlfind ocamlopt -package camlp-streams \ > -c -pp \"$pp \" main.ml; \ > ocamlfind ocamlopt -package camlp-streams \ > -c -pp "$pp " main.ml; \ > fi > ocamlfind ocamlopt -package camlp-streams -c main.ml > File "main.ml", line 179, characters 8-33: > 179 | (match Directive.find_directives parents loc s with > ^^^^^^^^^^^^^^^^^^^^^^^^^ > Error: Unbound module "Directive" > make[3]: *** [OCamlMakefile:863: main.cmi] Error 2 shuffle=3629079983 The full build log is available from: http://qa-logs.debian.net/2025/05/05/shuffle/random/camlmix_1.3.1-6_unstable_random.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