ocaml / ocaml/dune

Warning: ltac_plugin.cmxs already found

Open
#8,026 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

rocq
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 of dune --version): 3.8.1
  • Version of ocaml (output of ocamlc --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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.