Warning: ltac_plugin.cmxs already found
Nobody has claimed this yet.
- Dominant language
- OCaml
- Stars
- 1.9k
- Forks
- 500
- Avg merge
- 15h 21m
- Merged PRs (30d)
- 277
Description
Expected Behavior
When building Coq plugins using Dune, it should be possible to define custom tactics without issues, and that necessitates the use of the coq-core.plugins.ltac library, like that:
(library
(public_name ml_lib.ml_plugin_a)
(name ml_plugin_a)
(flags :standard -rectypes)
(libraries coq-core.plugins.ltac))
Actual Behavior
That generates the following warning:
*** Warning: ltac_plugin.cmxs already found in /home/user/.opam/default/lib/coq-core/plugins/ltac (discarding /home/user/.opam/default/lib/coq/../coq-core/plugins/ltac/ltac_plugin.cmxs)
Reproduction
I found that there is already a test for that, it is in test/blackbox-tests/test-cases/coq/ml-lib.t. I am not sure how the blackbox tests are run (in CI, for example), but it can be run manually as follows:
git clone --depth=1 -b 3.8.2 https://github.com/ocaml/dune
cd dune
rm dune-project
cd test/blackbox-tests/test-cases/coq/ml-lib.t
dune build --display short --debug-dependency-path -j1 @all
Output:
Warning: Coq Language Versions lower than 0.8 have been deprecated in Dune
3.8 and will be removed in an upcoming Dune version.
coqpp src_a/gram.ml
ocamlc src_b/.ml_plugin_b.objs/byte/ml_plugin_b.{cmi,cmo,cmt}
ocamlc src_a/.ml_plugin_a.objs/byte/ml_plugin_a.{cmi,cmo,cmt}
ocamldep src_b/.ml_plugin_b.objs/ml_plugin_b__Simple_b.impl.d
ocamldep src_a/.ml_plugin_a.objs/ml_plugin_a__Simple.impl.d
ocamldep src_a/.ml_plugin_a.objs/ml_plugin_a__Gram.intf.d
ocamldep src_a/.ml_plugin_a.objs/ml_plugin_a__Gram.impl.d
coqdep theories/.Plugin.theory.d
*** Warning: ltac_plugin.cmxs already found in /home/user/.opam/default/lib/coq-core/plugins/ltac (discarding /home/user/.opam/default/lib/coq/../coq-core/plugins/ltac/ltac_plugin.cmxs)
ocamlopt src_b/.ml_plugin_b.objs/native/ml_plugin_b.{cmx,o}
ocamlopt src_a/.ml_plugin_a.objs/native/ml_plugin_a.{cmx,o}
ocamlc src_a/.ml_plugin_a.objs/byte/ml_plugin_a__Simple.{cmi,cmo,cmt}
ocamlc src_a/.ml_plugin_a.objs/byte/ml_plugin_a__Gram.{cmi,cmti}
ocamlopt src_a/.ml_plugin_a.objs/native/ml_plugin_a__Simple.{cmx,o}
ocamlc src_a/.ml_plugin_a.objs/byte/ml_plugin_a__Gram.{cmo,cmt}
ocamlopt src_a/.ml_plugin_a.objs/native/ml_plugin_a__Gram.{cmx,o}
ocamlc src_b/.ml_plugin_b.objs/byte/ml_plugin_b__Simple_b.{cmi,cmo,cmt}
ocamlc src_a/ml_plugin_a.cma
ocamlopt src_a/ml_plugin_a.{a,cmxa}
ocamlopt src_b/.ml_plugin_b.objs/native/ml_plugin_b__Simple_b.{cmx,o}
ocamlc src_b/ml_plugin_b.cma
ocamlopt src_a/ml_plugin_a.cmxs
ocamlopt src_b/ml_plugin_b.{a,cmxa}
ocamlopt src_b/ml_plugin_b.cmxs
coqc theories/a.{glob,vo}
Specifications
- Version of
dune(output ofdune --version): 3.8.1 - Version of
ocaml(output ofocamlc --version): 5.0.0 - Version of Coq: resent master, installed using
opam install . - Operating system (distribution and version): Arch Linux, rolling
Additional information
It is entirely possible that everything works well and I installed something wrongly.
Verbose output (run `dune` with the `--verbose` flag)
user@notebook:/tmp/tmp.uqaxtM2OA0/dune/test/blackbox-tests/test-cases/coq/ml-lib.t$ dune build --verbose --debug-dependency-path -j1 @all
Shared cache: disabled
Workspace root:
/tmp/tmp.uqaxtM2OA0/dune/test/blackbox-tests/test-cases/coq/ml-lib.t
Warning: Coq Language Versions lower than 0.8 have been deprecated in Dune
3.8 and will be removed in an upcoming Dune version.
Dune context:
{ name = "default"
; kind = "default"
; profile = Dev
; merlin = true
; for_host = None
; fdo_target_exe = None
; build_dir = In_build_dir "default"
; ocaml_bin = External "/usr/bin"
; ocaml = Ok External "/usr/bin/ocaml"
; ocamlc = External "/usr/bin/ocamlc.opt"
; ocamlopt = Ok External "/usr/bin/ocamlopt.opt"
; ocamldep = Ok External "/usr/bin/ocamldep.opt"
; ocamlmklib = Ok External "/usr/bin/ocamlmklib.opt"
; env =
map
{ "DUNE_OCAML_HARDCODED" :
"/usr/lib/ocaml:/home/user/.opam/default/lib"
; "DUNE_OCAML_STDLIB" : "/usr/lib/ocaml"
; "DUNE_SOURCEROOT" :
"/tmp/tmp.uqaxtM2OA0/dune/test/blackbox-tests/test-cases/coq/ml-lib.t"
; "INSIDE_DUNE" :
"/tmp/tmp.uqaxtM2OA0/dune/test/blackbox-tests/test-cases/coq/ml-lib.t/_build/default"
; "OCAMLFIND_IGNORE_DUPS_IN" :
"/tmp/tmp.uqaxtM2OA0/dune/test/blackbox-tests/test-cases/coq/ml-lib.t/_build/install/default/lib"
; "OCAMLPATH" :
"/tmp/tmp.uqaxtM2OA0/dune/test/blackbox-tests/test-cases/coq/ml-lib.t/_build/install/default/lib"
; "OCAMLTOP_INCLUDE_PATH" :
"/tmp/tmp.uqaxtM2OA0/dune/test/blackbox-tests/test-cases/coq/ml-lib.t/_build/install/default/lib/toplevel"
; "OCAML_COLOR" : "always"
; "OPAMCOLOR" : "always"
}
; findlib_paths =
[ External "/usr/lib/ocaml"; External "/home/user/.opam/default/lib" ]
; natdynlink_supported = true
; supports_shared_libraries = true
; ocaml_config =
{ version = "5.0.0"
; standard_library_default = "/usr/lib/ocaml"
; standard_library = "/usr/lib/ocaml"
; standard_runtime = "the_standard_runtime_variable_was_deleted"
; ccomp_type = "cc"
; c_compiler = "gcc"
; ocamlc_cflags =
[ "-O2"
; "-fno-strict-aliasing"
; "-fwrapv"
; "-pthread"
; "-g"
; "-fno-omit-frame-pointer"
; "-fPIC"
; "-march=x86-64"
; "-mtune=generic"
; "-O2"
; "-pipe"
; "-fno-plt"
; "-fexceptions"
; "-Wp,-D_FORTIFY_SOURCE=2"
; "-Wformat"
; "-Werror=format-security"
; "-fstack-clash-protection"
; "-fcf-protection"
; "-g"
; "-ffile-prefix-map=/build/ocaml/src=/usr/src/debug/ocaml"
; "-flto=auto"
; "-ffat-lto-objects"
]
; ocamlc_cppflags = [ "-D_FILE_OFFSET_BITS=64" ]
; ocamlopt_cflags =
[ "-O2"
; "-fno-strict-aliasing"
; "-fwrapv"
; "-pthread"
; "-g"
; "-fno-omit-frame-pointer"
; "-fPIC"
; "-march=x86-64"
; "-mtune=generic"
; "-O2"
; "-pipe"
; "-fno-plt"
; "-fexceptions"
; "-Wp,-D_FORTIFY_SOURCE=2"
; "-Wformat"
; "-Werror=format-security"
; "-fstack-clash-protection"
; "-fcf-protection"
; "-g"
; "-ffile-prefix-map=/build/ocaml/src=/usr/src/debug/ocaml"
; "-flto=auto"
; "-ffat-lto-objects"
]
; ocamlopt_cppflags = [ "-D_FILE_OFFSET_BITS=64" ]
; bytecomp_c_compiler =
[ "gcc"
; "-O2"
; "-fno-strict-aliasing"
; "-fwrapv"
; "-pthread"
; "-g"
; "-fno-omit-frame-pointer"
; "-fPIC"
; "-march=x86-64"
; "-mtune=generic"
; "-O2"
; "-pipe"
; "-fno-plt"
; "-fexceptions"
; "-Wp,-D_FORTIFY_SOURCE=2"
; "-Wformat"
; "-Werror=format-security"
; "-fstack-clash-protection"
; "-fcf-protection"
; "-g"
; "-ffile-prefix-map=/build/ocaml/src=/usr/src/debug/ocaml"
; "-flto=auto"
; "-ffat-lto-objects"
; "-D_FILE_OFFSET_BITS=64"
]
; bytecomp_c_libraries = [ "-lm"; "-lpthread" ]
; native_c_compiler =
[ "gcc"
; "-O2"
; "-fno-strict-aliasing"
; "-fwrapv"
; "-pthread"
; "-g"
; "-fno-omit-frame-pointer"
; "-fPIC"
; "-march=x86-64"
; "-mtune=generic"
; "-O2"
; "-pipe"
; "-fno-plt"
; "-fexceptions"
; "-Wp,-D_FORTIFY_SOURCE=2"
; "-Wformat"
; "-Werror=format-security"
; "-fstack-clash-protection"
; "-fcf-protection"
; "-g"
; "-ffile-prefix-map=/build/ocaml/src=/usr/src/debug/ocaml"
; "-flto=auto"
; "-ffat-lto-objects"
; "-D_FILE_OFFSET_BITS=64"
]
; native_c_libraries = [ "-lm"; "-lpthread" ]
; native_pack_linker = [ "ld"; "-r"; "-o" ]
; cc_profile = []
; architecture = "amd64"
; model = "default"
; int_size = 63
; word_size = 64
; system = "linux"
; asm = [ "as" ]
; asm_cfi_supported = true
; with_frame_pointers = true
; ext_exe = ""
; ext_obj = ".o"
; ext_asm = ".s"
; ext_lib = ".a"
; ext_dll = ".so"
; os_type = "Unix"
; default_executable_name = "a.out"
; systhread_supported = true
; host = "x86_64-pc-linux-gnu"
; target = "x86_64-pc-linux-gnu"
; profiling = false
; flambda = false
; spacetime = false
; safe_string = true
; exec_magic_number = "Caml1999X032"
; cmi_magic_number = "Caml1999I032"
; cmo_magic_number = "Caml1999O032"
; cma_magic_number = "Caml1999A032"
; cmx_magic_number = "Caml1999Y032"
; cmxa_magic_number = "Caml1999Z032"
; ast_impl_magic_number = "Caml1999M032"
; ast_intf_magic_number = "Caml1999N032"
; cmxs_magic_number = "Caml1999D032"
; cmt_magic_number = "Caml1999T032"
; natdynlink_supported = true
; supports_shared_libraries = true
; windows_unicode = false
}
}
Actual targets:
- recursive alias @all
Running[3]: (cd _build/default && /home/user/.opam/default/bin/coqpp src_a/gram.mlg)
Running[4]: (cd _build/default && /usr/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -49 -nopervasives -nostdlib -g -bin-annot -I src_b/.ml_plugin_b.objs/byte -no-alias-deps -opaque -o src_b/.ml_plugin_b.objs/byte/ml_plugin_b.cmo -c -impl src_b/ml_plugin_b.ml-gen)
Running[5]: (cd _build/default && /usr/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -49 -nopervasives -nostdlib -g -bin-annot -I src_a/.ml_plugin_a.objs/byte -no-alias-deps -opaque -o src_a/.ml_plugin_a.objs/byte/ml_plugin_a.cmo -c -impl src_a/ml_plugin_a.ml-gen)
Running[6]: (cd _build/default && /usr/bin/ocamldep.opt -modules -impl src_b/simple_b.ml) > _build/default/src_b/.ml_plugin_b.objs/ml_plugin_b__Simple_b.impl.d
Running[7]: (cd _build/default && /usr/bin/ocamldep.opt -modules -impl src_a/simple.ml) > _build/default/src_a/.ml_plugin_a.objs/ml_plugin_a__Simple.impl.d
Running[8]: (cd _build/default && /usr/bin/ocamldep.opt -modules -intf src_a/gram.mli) > _build/default/src_a/.ml_plugin_a.objs/ml_plugin_a__Gram.intf.d
Running[9]: (cd _build/default && /usr/bin/ocamldep.opt -modules -impl src_a/gram.ml) > _build/default/src_a/.ml_plugin_a.objs/ml_plugin_a__Gram.impl.d
Running[10]: (cd _build/default/theories && /home/user/.opam/default/bin/coqdep -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -I ../src_a -I ../src_b -I /home/user/.opam/default/lib/coq/../coq-core/plugins/btauto -I /home/user/.opam/default/lib/coq/../coq-core/plugins/cc -I /home/user/.opam/default/lib/coq/../coq-core/plugins/derive -I /home/user/.opam/default/lib/coq/../coq-core/plugins/extraction -I /home/user/.opam/default/lib/coq/../coq-core/plugins/firstorder -I /home/user/.opam/default/lib/coq/../coq-core/plugins/funind -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ltac2 -I /home/user/.opam/default/lib/coq/../coq-core/plugins/micromega -I /home/user/.opam/default/lib/coq/../coq-core/plugins/nsatz -I /home/user/.opam/default/lib/coq/../coq-core/plugins/number_string_notation -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ring -I /home/user/.opam/default/lib/coq/../coq-core/plugins/rtauto -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ssreflect -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ssrmatching -I /home/user/.opam/default/lib/coq/../coq-core/plugins/tauto -I /home/user/.opam/default/lib/coq/../coq-core/plugins/tutorial -I /home/user/.opam/default/lib/coq/../coq-core/plugins/zify -R /home/user/.opam/default/lib/coq/theories Coq -R . Plugin -dyndep opt -vos a.v) > _build/default/theories/.Plugin.theory.d
Output[10]:
*** Warning: ltac_plugin.cmxs already found in /home/user/.opam/default/lib/coq-core/plugins/ltac (discarding /home/user/.opam/default/lib/coq/../coq-core/plugins/ltac/ltac_plugin.cmxs)
Running[11]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -49 -nopervasives -nostdlib -g -I src_b/.ml_plugin_b.objs/byte -I src_b/.ml_plugin_b.objs/native -intf-suffix .ml-gen -no-alias-deps -opaque -o src_b/.ml_plugin_b.objs/native/ml_plugin_b.cmx -c -impl src_b/ml_plugin_b.ml-gen)
Running[12]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -49 -nopervasives -nostdlib -g -I src_a/.ml_plugin_a.objs/byte -I src_a/.ml_plugin_a.objs/native -intf-suffix .ml-gen -no-alias-deps -opaque -o src_a/.ml_plugin_a.objs/native/ml_plugin_a.cmx -c -impl src_a/ml_plugin_a.ml-gen)
Running[13]: (cd _build/default && /usr/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -bin-annot -I src_a/.ml_plugin_a.objs/byte -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -no-alias-deps -opaque -open Ml_plugin_a -o src_a/.ml_plugin_a.objs/byte/ml_plugin_a__Simple.cmo -c -impl src_a/simple.ml)
Running[14]: (cd _build/default && /usr/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -bin-annot -I src_a/.ml_plugin_a.objs/byte -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -no-alias-deps -opaque -open Ml_plugin_a -o src_a/.ml_plugin_a.objs/byte/ml_plugin_a__Gram.cmi -c -intf src_a/gram.mli)
Running[15]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -I src_a/.ml_plugin_a.objs/byte -I src_a/.ml_plugin_a.objs/native -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -intf-suffix .ml -no-alias-deps -opaque -open Ml_plugin_a -o src_a/.ml_plugin_a.objs/native/ml_plugin_a__Simple.cmx -c -impl src_a/simple.ml)
Running[16]: (cd _build/default && /usr/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -bin-annot -I src_a/.ml_plugin_a.objs/byte -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -intf-suffix .ml -no-alias-deps -opaque -open Ml_plugin_a -o src_a/.ml_plugin_a.objs/byte/ml_plugin_a__Gram.cmo -c -impl src_a/gram.ml)
Running[17]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -I src_a/.ml_plugin_a.objs/byte -I src_a/.ml_plugin_a.objs/native -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -intf-suffix .ml -no-alias-deps -opaque -open Ml_plugin_a -o src_a/.ml_plugin_a.objs/native/ml_plugin_a__Gram.cmx -c -impl src_a/gram.ml)
Running[18]: (cd _build/default && /usr/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -bin-annot -I src_b/.ml_plugin_b.objs/byte -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -I src_a/.ml_plugin_a.objs/byte -no-alias-deps -opaque -open Ml_plugin_b -o src_b/.ml_plugin_b.objs/byte/ml_plugin_b__Simple_b.cmo -c -impl src_b/simple_b.ml)
Running[19]: (cd _build/default && /usr/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -a -o src_a/ml_plugin_a.cma src_a/.ml_plugin_a.objs/byte/ml_plugin_a.cmo src_a/.ml_plugin_a.objs/byte/ml_plugin_a__Simple.cmo src_a/.ml_plugin_a.objs/byte/ml_plugin_a__Gram.cmo)
Running[20]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -a -o src_a/ml_plugin_a.cmxa src_a/.ml_plugin_a.objs/native/ml_plugin_a.cmx src_a/.ml_plugin_a.objs/native/ml_plugin_a__Simple.cmx src_a/.ml_plugin_a.objs/native/ml_plugin_a__Gram.cmx)
Running[21]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -I src_b/.ml_plugin_b.objs/byte -I src_b/.ml_plugin_b.objs/native -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -I src_a/.ml_plugin_a.objs/byte -I src_a/.ml_plugin_a.objs/native -intf-suffix .ml -no-alias-deps -opaque -open Ml_plugin_b -o src_b/.ml_plugin_b.objs/native/ml_plugin_b__Simple_b.cmx -c -impl src_b/simple_b.ml)
Running[22]: (cd _build/default && /usr/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -a -o src_b/ml_plugin_b.cma src_b/.ml_plugin_b.objs/byte/ml_plugin_b.cmo src_b/.ml_plugin_b.objs/byte/ml_plugin_b__Simple_b.cmo)
Running[23]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -shared -linkall -I src_a -o src_a/ml_plugin_a.cmxs src_a/ml_plugin_a.cmxa)
Running[24]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -a -o src_b/ml_plugin_b.cmxa src_b/.ml_plugin_b.objs/native/ml_plugin_b.cmx src_b/.ml_plugin_b.objs/native/ml_plugin_b__Simple_b.cmx)
Running[25]: (cd _build/default && /usr/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -rectypes -g -shared -linkall -I src_b -o src_b/ml_plugin_b.cmxs src_b/ml_plugin_b.cmxa)
Running[26]: (cd _build/default && /home/user/.opam/default/bin/coqc -q -I /home/user/.opam/default/lib/coq-core/boot -I /home/user/.opam/default/lib/coq-core/clib -I /home/user/.opam/default/lib/coq-core/config -I /home/user/.opam/default/lib/coq-core/engine -I /home/user/.opam/default/lib/coq-core/gramlib -I /home/user/.opam/default/lib/coq-core/interp -I /home/user/.opam/default/lib/coq-core/kernel -I /home/user/.opam/default/lib/coq-core/lib -I /home/user/.opam/default/lib/coq-core/library -I /home/user/.opam/default/lib/coq-core/parsing -I /home/user/.opam/default/lib/coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq-core/pretyping -I /home/user/.opam/default/lib/coq-core/printing -I /home/user/.opam/default/lib/coq-core/proofs -I /home/user/.opam/default/lib/coq-core/tactics -I /home/user/.opam/default/lib/coq-core/vernac -I /home/user/.opam/default/lib/coq-core/vm -I /home/user/.opam/default/lib/findlib -I /home/user/.opam/default/lib/zarith -I /usr/lib/ocaml/dynlink -I /usr/lib/ocaml/str -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/unix -I src_a -I src_b -I /home/user/.opam/default/lib/coq/../coq-core/plugins/btauto -I /home/user/.opam/default/lib/coq/../coq-core/plugins/cc -I /home/user/.opam/default/lib/coq/../coq-core/plugins/derive -I /home/user/.opam/default/lib/coq/../coq-core/plugins/extraction -I /home/user/.opam/default/lib/coq/../coq-core/plugins/firstorder -I /home/user/.opam/default/lib/coq/../coq-core/plugins/funind -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ltac -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ltac2 -I /home/user/.opam/default/lib/coq/../coq-core/plugins/micromega -I /home/user/.opam/default/lib/coq/../coq-core/plugins/nsatz -I /home/user/.opam/default/lib/coq/../coq-core/plugins/number_string_notation -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ring -I /home/user/.opam/default/lib/coq/../coq-core/plugins/rtauto -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ssreflect -I /home/user/.opam/default/lib/coq/../coq-core/plugins/ssrmatching -I /home/user/.opam/default/lib/coq/../coq-core/plugins/tauto -I /home/user/.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with test/blackbox-tests/test-cases/coq/ml-lib.t and run the reported dune build command to reproduce the duplicate ltac_plugin.cmxs warning. Read the test setup and relevant Dune Coq-plugin handling; done means the test still builds without that warning.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100