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

Reply via email to