Bug#1105720: camlmix: FTBFS with make --shuffle=random: make[3]: *** [OCamlMakefile:863: main.cmi] Error 2 shuffle=3629079983
Source: camlmix
Version: 1.3.1-6
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=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
Reply to: