OCamllabs icon Home|Differences with the last checks|Previous runs


Building on rosemary

(from freebsd)
2026-03-14 19:04.46 ---> using "77d5fe31836124b4684d554707425c4fde23f9ef3df0a804431a47419573778d" from cache

/: (user (uid 1000) (gid 1000))

/: (env OPAMPRECISETRACKING 1)

/: (env OPAMUTF8 never)

/: (env OPAMEXTERNALSOLVER builtin-0install)

/: (env OPAMCRITERIA +removed)

/: (env CI true)

/: (env OPAM_HEALTH_CHECK_CI true)

/: (run (shell "sudo ln -f /usr/local/bin/opam-dev /usr/local/bin/opam"))
2026-03-14 19:04.46 ---> using "7afea9128a2830beedf345f0b46af5484579ebada7710165f445c6c5b18563a9" from cache

/: (run (network host)
        (shell "rm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q f39c79b42ff2172c0c15ddcb295b7b26a38d34f1"))
2026-03-14 19:04.47 ---> using "130318c07331cf562910fa89d4cdcb31eeb5cb1d76dcdfb3e054d67bb6f3d8ad" from cache

/: (run (shell "rm -rf ~/.opam && opam init -ya --bare ~/opam-repository"))
No configuration file found, using built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.


<><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised

User configuration:
  ~/.profile is already up-to-date.
2026-03-14 19:04.47 ---> using "4f5b2a790dca036e35ddd02e6147dfdb52067179039a24d634feafe460c7484b" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell "opam switch create --repositories=default '5.3.0' 'ocaml-base-compiler.5.3.0'"))

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "5.3.0"}]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-config.3  (cached)
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> installed ocaml-options-vanilla.1
-> retrieved ocaml-compiler.5.3.0  (cached)
-> installed ocaml-compiler.5.3.0
-> installed ocaml-base-compiler.5.3.0
-> installed ocaml-config.3
-> installed ocaml.5.3.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env --switch=5.3.0)
2026-03-14 19:04.47 ---> using "d87eaaaeb0b6deab366e43c7d41dd60fca4951b5a533080e060eaec13424a41a" from cache

/: (run (network host)
        (shell "opam update --depexts"))
[WARNING] Unknown update command for bsd, skipping system update
2026-03-14 19:04.47 ---> using "0ed9f0393f0442cc6ee772b46817c9dae7ff3957bc3bf7097a8535a3cb83c0aa" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell  "opam remove -y obuild.0.2.2\
               \nopam install -vy obuild.0.2.2\
               \nres=$?\
               \nif [ $res = 31 ]; then\
               \n    if opam show -f x-ci-accept-failures: obuild.0.2.2 | grep -q 'freebsd'; then\
               \n        echo \"This package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\"\
               \n        exit 69\
               \n    fi\
               \nfi \
               \n\
               \n\
               \nexit $res"))
[NOTE] obuild.0.2.2 is not installed.

Nothing to do.
The following actions will be performed:
=== install 2 packages
  - install obuild    0.2.2
  - install ocamlfind 1.9.8 [required by obuild]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/6: [obuild.0.2.2: extract]
Processing  2/6: [obuild.0.2.2: extract] [ocamlfind.1.9.8: extract]
-> retrieved ocamlfind.1.9.8  (cached)
Processing  2/6: [obuild.0.2.2: extract]
Processing  3/6: [obuild.0.2.2: extract] [ocamlfind: ./configure]
-> retrieved obuild.0.2.2  (cached)
Processing  3/6: [ocamlfind: ./configure]
+ /home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8/./configure "-bindir" "/home/opam/.opam/5.3.0/bin" "-sitelib" "/home/opam/.opam/5.3.0/lib" "-mandir" "/home/opam/.opam/5.3.0/man" "-config" "/home/opam/.opam/5.3.0/lib/findlib.conf" "-no-custom" "-no-camlp4" (CWD=/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8)
- Welcome to findlib version 1.9.8
- Configuring core...
- Checking for #remove_directory...
- Testing threading model...
- systhread_supported: true
- Testing DLLs...
- Testing whether ppxopt can be supported...
- Checking for ocamlc -opaque...
- Checking for ocamlopt -g...
- Configuring libraries...
- unix: found (in +unix)
- dynlink: found (in +dynlink)
- bigarray: not present (possible since 4.08)
- compiler-libs: found
- dbm: not present (normal since 4.00)
- graphics: not present (normal since 4.09)
- num: not present (normal since 4.06)
- ocamlbuild: not present (normal since 4.03)
- ocamldoc: found (in +ocamldoc)
- raw_spacetime: not present (normal since 4.12)
- threads: found (in +threads)
- str: found (in +str)
- labltk: not present (normal since 4.02)
- native dynlink: found
- camlp4: disabled
- bytes: found, installing fake library
- Configuration for bytes written to site-lib-src/bytes/META
- Detecting compiler arguments: (extractor built) ok
- 
- About the OCAML core installation:
-     Standard library:      /home/opam/.opam/5.3.0/lib/ocaml
-     Binaries:              /home/opam/.opam/5.3.0/bin
-     Manual pages:          /home/opam/.opam/5.3.0/man
-     Multi-threading type:  posix
- The directory of site-specific packages will be
-     site-lib:              /home/opam/.opam/5.3.0/lib
- The configuration file is written to:
-     findlib config file:   /home/opam/.opam/5.3.0/lib/findlib.conf
- Software will be installed:
-     Libraries:             in <site-lib>/findlib
-     Binaries:              /home/opam/.opam/5.3.0/bin
-     Manual pages:          /home/opam/.opam/5.3.0/man
-     topfind script:        /home/opam/.opam/5.3.0/lib/ocaml
- Topfind ppxopt support:    yes
- Toolbox:                   no
- Link custom runtime:       no
- Need bytes compatibility:  no
- 
- Configuration has been written to Makefile.config
- 
- You can now do 'make all', and optionally 'make opt', to build ocamlfind.
Processing  3/6: [ocamlfind: gmake all]
+ /usr/local/bin/gmake "all" (CWD=/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8)
- for p in findlib; do ( cd src/$p; /usr/local/bin/gmake all ) || exit; done
- gmake[1]: Entering directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- ocamllex fl_meta.mll
- 22 states, 392 transitions, table size 1700 bytes
- USE_CYGPATH="0"; \
- export USE_CYGPATH; \
- cat findlib_config.mlp | \
-          ../../tools/patch '@CONFIGFILE@' '/home/opam/.opam/5.3.0/lib/findlib.conf' | \
-          ../../tools/patch '@STDLIB@' '/home/opam/.opam/5.3.0/lib/ocaml' | \
-          ../../tools/patch '@RELATIVE_PATHS@' 'false' | \
- 	sed -e 's;@AUTOLINK@;true;g' \
- 	    -e 's;@SYSTEM@;freebsd;g' \
- 	     >findlib_config.ml
- if [ "true" = "true" ]; then                 \
- 	cp topfind.ml.in topfind.ml;                             \
- else                                                             \
- 	sed -e '/PPXOPT_BEGIN/,/PPXOPT_END/ d' topfind.ml.in     \
- 		> topfind.ml ;                                   \
- fi
- ocamldep *.ml *.mli >depend
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_compat.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_split.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c findlib_config.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_metatoken.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_meta.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c fl_metascanner.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_metascanner.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c fl_topo.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_topo.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c fl_package_base.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_package_base.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c findlib.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c findlib.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_args.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_lint.ml
- ocamlc -I +compiler-libs -a -o findlib.cma fl_compat.cmo fl_split.cmo findlib_config.cmo fl_metatoken.cmo fl_meta.cmo fl_metascanner.cmo fl_topo.cmo fl_package_base.cmo findlib.cmo fl_args.cmo fl_lint.cmo
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c ocaml_args.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c frontend.ml
- ocamlc -I +compiler-libs  -o ocamlfind -g findlib.cma unix.cma \
-            -I +unix -I +dynlink ocaml_args.cmo frontend.cmo
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c topfind.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c topfind.ml
- File "topfind.ml", line 128, characters 40-63:
- 128 |                      match Hashtbl.find Toploop.directive_table "ppx" with
-                                               ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 258, characters 4-27:
- 258 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 268, characters 4-27:
- 268 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 280, characters 4-27:
- 280 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 293, characters 4-27:
- 293 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 307, characters 4-27:
- 307 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 319, characters 4-27:
- 319 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- ocamlc -I +compiler-libs -a -o findlib_top.cma topfind.cmo
- if [ "1" = "1" ]; then                        \
- 	cp topfind.in topfind.compat.in;                                                     \
- else                                                                  \
- 	sed -e '/REMOVE_DIRECTORY_BEGIN/,/REMOVE_DIRECTORY_END/ d' topfind.in \
- 		> topfind.compat.in ;                                                \
- fi
- USE_CYGPATH="0"; \
- export USE_CYGPATH; \
- cat topfind.compat.in | \
-          ../../tools/patch '@SITELIB@' '/home/opam/.opam/5.3.0/lib' | \
-          ../../tools/patch '@RELATIVE_PATHS@' 'false' \
-     	    >topfind
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c fl_dynload.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_dynload.ml
- ocamlc -I +compiler-libs -a -o findlib_dynload.cma fl_dynload.cmo
- gmake[1]: Leaving directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- /usr/local/bin/gmake all-config
- gmake[1]: Entering directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
- if [ "false" = "true" ]; then \
-   /usr/local/bin/gmake findlib-relative; \
-         else \
-   /usr/local/bin/gmake findlib-absolute; \
- fi
- gmake[2]: Entering directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
- USE_CYGPATH="0"; \
- export USE_CYGPATH; \
- cat findlib.conf.in | \
-      tools/patch '@SITELIB@' '/home/opam/.opam/5.3.0/lib' | \
- 		 tools/patch '@FINDLIB_PATH@' '/home/opam/.opam/5.3.0/lib/ocaml:/home/opam/.opam/5.3.0/lib' -p >findlib.conf
- if ./tools/cmd_from_same_dir ocamlc; then \
- 	echo 'ocamlc="ocamlc.opt"' >>findlib.conf; \
- fi
- if ./tools/cmd_from_same_dir ocamlopt; then \
- 	echo 'ocamlopt="ocamlopt.opt"' >>findlib.conf; \
- fi
- if ./tools/cmd_from_same_dir ocamldep; then \
- 	echo 'ocamldep="ocamldep.opt"' >>findlib.conf; \
- fi
- if ./tools/cmd_from_same_dir ocamldoc; then \
- 	echo 'ocamldoc="ocamldoc.opt"' >>findlib.conf; \
- fi
- gmake[2]: Leaving directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
- gmake[1]: Leaving directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
Processing  3/6: [ocamlfind: gmake opt]
+ /usr/local/bin/gmake "opt" (CWD=/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8)
- for p in findlib; do ( cd src/$p; /usr/local/bin/gmake opt ) || exit; done
- gmake[1]: Entering directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_compat.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_split.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c findlib_config.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_metatoken.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_meta.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_metascanner.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_topo.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_package_base.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c findlib.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_args.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_lint.ml
- ocamlopt -I +compiler-libs -g -a -o findlib.cmxa fl_compat.cmx fl_split.cmx findlib_config.cmx fl_metatoken.cmx fl_meta.cmx fl_metascanner.cmx fl_topo.cmx fl_package_base.cmx findlib.cmx fl_args.cmx fl_lint.cmx
- if [ 1 -gt 0 ]; then \
-     ocamlopt -I +compiler-libs -g -shared -o findlib.cmxs fl_compat.cmx fl_split.cmx findlib_config.cmx fl_metatoken.cmx fl_meta.cmx fl_metascanner.cmx fl_topo.cmx fl_package_base.cmx findlib.cmx fl_args.cmx fl_lint.cmx; \
- fi
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c ocaml_args.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c frontend.ml
- ocamlopt -I +compiler-libs -g -o ocamlfind_opt findlib.cmxa unix.cmxa \
- 	   -I +unix -I +dynlink ocaml_args.cmx frontend.cmx
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c topfind.ml
- File "topfind.ml", line 128, characters 40-63:
- 128 |                      match Hashtbl.find Toploop.directive_table "ppx" with
-                                               ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 258, characters 4-27:
- 258 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 268, characters 4-27:
- 268 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 280, characters 4-27:
- 280 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 293, characters 4-27:
- 293 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 307, characters 4-27:
- 307 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 319, characters 4-27:
- 319 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- ocamlopt -I +compiler-libs -g -a -o findlib_top.cmxa topfind.cmx
- if [ 1 -gt 0 ]; then \
-     ocamlopt -I +compiler-libs -g -shared -o findlib_top.cmxs topfind.cmx; \
- fi
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_dynload.ml
- ocamlopt -I +compiler-libs -g -a -o findlib_dynload.cmxa fl_dynload.cmx
- if [ 1 -gt 0 ]; then \
-     ocamlopt -I +compiler-libs -g -shared -o findlib_dynload.cmxs fl_dynload.cmx; \
- fi
- gmake[1]: Leaving directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
-> compiled  ocamlfind.1.9.8
Processing  4/6: [ocamlfind: gmake install]
+ /usr/local/bin/gmake "install" (CWD=/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8)
- if [ "0" -eq 1 ]; then \
-     for x in camlp4 dbm graphics labltk num ocamlbuild; do \
-       if [ -f "/home/opam/.opam/5.3.0/lib/$x/META" ]; then \
-         if ! grep -Fq '[distributed with Ocaml]' "//home/opam/.opam/5.3.0/lib/$x/META"; then \
-           rm -f site-lib-src/$x/META; \
-         fi; \
-       fi; \
-     done; \
-     test -f "site-lib-src/num/META" || rm -f "site-lib-src/num-top/META"; \
-   fi
- echo 'SITELIB_META =' > Makefile.packages.in
- for x in `ls site-lib-src`; do test ! -f "site-lib-src/$x/META" || echo $x >> Makefile.packages.in; done
- tr '\n' ' ' < Makefile.packages.in > Makefile.packages
- rm Makefile.packages.in
- install -d "/home/opam/.opam/5.3.0/bin"
- install -d "/home/opam/.opam/5.3.0/man"
- /usr/local/bin/gmake install-config
- gmake[1]: Entering directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
- install -d "`dirname \"/home/opam/.opam/5.3.0/lib/findlib.conf\"`"
- test -f "/home/opam/.opam/5.3.0/lib/findlib.conf" || cp findlib.conf "/home/opam/.opam/5.3.0/lib/findlib.conf"
- gmake[1]: Leaving directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
- for p in findlib; do ( cd src/$p; /usr/local/bin/gmake install ); done
- gmake[1]: Entering directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- install -d "/home/opam/.opam/5.3.0/lib/findlib"
- install -d "/home/opam/.opam/5.3.0/bin"
- test 1 -eq 0 || install -d "/home/opam/.opam/5.3.0/lib/ocaml"
- test 1 -eq 0 || cp topfind "/home/opam/.opam/5.3.0/lib/ocaml/"
- files=` ../../tools/collect_files ../../Makefile.config \
- findlib.cmi findlib.mli findlib.cma findlib.cmxa findlib.a findlib.cmxs \
- findlib_config.cmi findlib_config.ml topfind.cmi topfind.mli \
- fl_args.cmi fl_lint.cmi fl_meta.cmi fl_split.cmi fl_topo.cmi ocaml_args.cmi \
- fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi \
- fl_metatoken.cmi findlib_top.cma findlib_top.cmxa findlib_top.a findlib_top.cmxs \
- findlib_dynload.cma findlib_dynload.cmxa findlib_dynload.a findlib_dynload.cmxs fl_dynload.mli fl_dynload.cmi \
- META` && \
- cp $files "/home/opam/.opam/5.3.0/lib/findlib/"
- f="ocamlfind"; { test -f ocamlfind_opt && f="ocamlfind_opt"; }; \
- install -c $f "/home/opam/.opam/5.3.0/bin/ocamlfind"
- # the following "if" block is only needed for 4.00beta2
- if [ 1 -eq 0 -a -f "/home/opam/.opam/5.3.0/lib/ocaml/compiler-libs/topdirs.cmi" ]; then \
-     cd "/home/opam/.opam/5.3.0/lib/ocaml/compiler-libs/"; \
-     cp topdirs.cmi toploop.cmi "/home/opam/.opam/5.3.0/lib/findlib/"; \
- fi
- gmake[1]: Leaving directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- /usr/local/bin/gmake install-meta
- gmake[1]: Entering directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
- for x in bytes ; do install -d "/home/opam/.opam/5.3.0/lib/$x"; cp site-lib-src/$x/META "/home/opam/.opam/5.3.0/lib/$x/META.tmp" && mv "/home/opam/.opam/5.3.0/lib/$x/META.tmp" "/home/opam/.opam/5.3.0/lib/$x/META"; done
- install -d "/home/opam/.opam/5.3.0/lib/findlib"; cp Makefile.packages "/home/opam/.opam/5.3.0/lib/findlib/Makefile.packages"
- gmake[1]: Leaving directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
- test ! -f 'site-lib-src/num-top/META' || { cd src/findlib; /usr/local/bin/gmake install-num-top; }
- test ! -f 'site-lib-src/camlp4/META' ||	install -c tools/safe_camlp4 "/home/opam/.opam/5.3.0/bin"
- /usr/local/bin/gmake install-doc
- gmake[1]: Entering directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
- install -d "/home/opam/.opam/5.3.0/man/man1" "/home/opam/.opam/5.3.0/man/man3" "/home/opam/.opam/5.3.0/man/man5"
- cp doc/ref-man/ocamlfind.1 "/home/opam/.opam/5.3.0/man/man1"
- cp: doc/ref-man/ocamlfind.1: No such file or directory
- gmake[1]: [Makefile:91: install-doc] Error 1 (ignored)
- cp doc/ref-man/META.5 doc/ref-man/site-lib.5 doc/ref-man/findlib.conf.5 "/home/opam/.opam/5.3.0/man/man5"
- cp: doc/ref-man/META.5: No such file or directory
- cp: doc/ref-man/site-lib.5: No such file or directory
- cp: doc/ref-man/findlib.conf.5: No such file or directory
- gmake[1]: [Makefile:92: install-doc] Error 1 (ignored)
- gmake[1]: Leaving directory '/home/opam/.opam/5.3.0/.opam-switch/build/ocamlfind.1.9.8'
-> installed ocamlfind.1.9.8
Processing  5/6: [obuild: ./bootstrap]
+ /home/opam/.opam/5.3.0/.opam-switch/build/obuild.0.2.2/./bootstrap (CWD=/home/opam/.opam/5.3.0/.opam-switch/build/obuild.0.2.2)
- 5.3.0
- COMPILING base/compat
- COMPILING base/location
- COMPILING base/fugue
- COMPILING base/string_utils
- COMPILING base/filepath
- COMPILING base/filesystem
- COMPILING base/cli
- File "cli.ml", line 135, characters 40-51:
- 135 | let command_with_subcommands name ~doc ?description ~commands =
-                                               ^^^^^^^^^^^
- Warning 16 [unerasable-optional-argument]: this optional argument cannot be erased.
- COMPILING core/types
- COMPILING core/gconf
- COMPILING core/filetype
- COMPILING core/dag
- COMPILING core/libname
- COMPILING core/pp
- COMPILING core/expr
- File "expr.ml", lines 147-149, characters 6-34:
- 147 | ......match String_utils.split ':' v ~limit:2 with
- 148 |       | [ _ ] -> ("", v)
- 149 |       | [ p1; rest ] -> (p1, rest)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- _::rest::_::_
- 
- File "expr.ml", lines 152-154, characters 6-34:
- 152 | ......match String_utils.split '-' rest ~limit:2 with
- 153 |       | [ _ ] -> (p1, rest, "")
- 154 |       | [ p2; p3 ] -> (p1, p2, p3)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- _::p3::_::_
- COMPILING core/utils
- File "utils.ml", line 97, characters 17-69:
- 97 |           ignore (List.find (fun n -> Filesystem.exists (n p)) names);
-                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 5 [ignored-partial-application]: this function application is partial,
- maybe some arguments are missing.
- COMPILING core/modname
- COMPILING core/taskdep
- COMPILING core/helper
- COMPILING core/dagutils
- COMPILING core/process
- COMPILING core/findlibConf
- COMPILING core/scheduler
- COMPILING core/prog
- COMPILING core/dependencies
- COMPILING core/generators
- COMPILING core/hier
- COMPILING core/meta
- COMPILING core/metacache
- COMPILING core/obuild_lexer
- COMPILING core/obuild_ast
- COMPILING core/obuild_parser
- File "obuild_parser.ml", line 97, characters 6-15:
- 97 |   let try_split sep =
-            ^^^^^^^^^
- Warning 26 [unused-var]: unused variable try_split.
- COMPILING core/target
- COMPILING core/dist
- COMPILING core/project
- COMPILING core/obuild_validate
- COMPILING core/project_read
- COMPILING core/analyze
- COMPILING core/configure
- COMPILING core/prepare_types
- COMPILING core/ppx_resolver
- COMPILING core/prepare
- COMPILING core/buildprogs
- COMPILING core/build_cstubs
- File "build_cstubs.ml", line 80, characters 4-43:
- 80 |     Filesystem.mkdir_safe autogen_dir 0o755;
-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- 
- File "build_cstubs.ml", line 252, characters 4-43:
- 252 |     Filesystem.mkdir_safe autogen_dir 0o755;
-           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- COMPILING core/build
- File "build.ml", lines 374-376, characters 4-87:
- 374 | ....match List.filter (fun x -> x <> []) l with
- 375 |     | [] -> ("", [])
- 376 |     | ((r, x) :: xs) :: ys -> (r, (x :: List.map snd xs) :: List.map (List.map snd) ys)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []::_
- COMPILING core/exception
- COMPILING command/sdist
- COMPILING command/doc
- COMPILING command/init
- COMPILING command/help
- COMPILING command/install
- COPYING modules to root for bootstrap
- COMPILING path_generated
- COMPILING main
- LINKING obuild.bootstrap
- Configuring obuild-0.2.2...
- Detected 40 CPU cores, setting default parallelism to 40
- [  1 of 103] Compiling Location                      
- [  2 of 103] Compiling Compat                        
- File "lib/base/location.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- File "lib/base/compat.ml", line 8, characters 13-15:
- 8 |   let ok x = Ok x
-                  ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 9, characters 16-21:
- 9 |   let error e = Error e
-                     ^^^^^
- Warning 41 [ambiguous-name]: Error belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 11, characters 23-25:
- 11 |   let is_ok = function Ok _ -> true | Error _ -> false
-                             ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 12, characters 26-28:
- 12 |   let is_error = function Ok _ -> false | Error _ -> true
-                                ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 15, characters 6-8:
- 15 |     | Ok x -> Ok (f x)
-            ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 15, characters 14-16:
- 15 |     | Ok x -> Ok (f x)
-                    ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 19, characters 6-8:
- 19 |     | Ok x -> Ok x
-            ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 19, characters 14-16:
- 19 |     | Ok x -> Ok x
-                    ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 23, characters 6-8:
- 23 |     | Ok x -> f x
-            ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 24, characters 17-22:
- 24 |     | Error e -> Error e
-                       ^^^^^
- Warning 41 [ambiguous-name]: Error belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 27, characters 6-8:
- 27 |     | Ok x -> x
-            ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 31, characters 6-8:
- 31 |     | Ok x -> x
-            ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 35, characters 6-8:
- 35 |     | Ok _ -> invalid_arg "Result.get_error"
-            ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/compat.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- [  3 of 103] Intfing Fugue                         
- [  4 of 103] Compiling Fugue                         
- [  5 of 103] Intfing String_utils                  
- [  6 of 103] Compiling String_utils                  
- [  7 of 103] Intfing Cli                           
- [  8 of 103] Intfing Filepath                      
- [  9 of 103] Compiling Filepath                      
- [ 10 of 103] Compiling Cli                           
- [ 11 of 103] Intfing Filesystem                    
- [ 12 of 103] Compiling Filesystem                    
- File "lib/base/cli.ml", lines 68-70, characters 4-16:
- 68 | ....match Hashtbl.find ctx.values name with
- 69 |     | VBool b -> b
- 70 |     | _ -> false
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type arg_value.
- 
- File "lib/base/cli.ml", lines 75-77, characters 4-15:
- 75 | ....match Hashtbl.find ctx.values name with
- 76 |     | VString s -> Some s
- 77 |     | _ -> None
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type arg_value.
- 
- File "lib/base/cli.ml", lines 87-89, characters 4-15:
- 87 | ....match Hashtbl.find ctx.values name with
- 88 |     | VInt i -> Some i
- 89 |     | _ -> None
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type arg_value.
- 
- File "lib/base/cli.ml", lines 99-101, characters 4-15:
-  99 | ....match Hashtbl.find ctx.values name with
- 100 |     | VBool b -> Some b
- 101 |     | _ -> None
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type arg_value.
- 
- File "lib/base/cli.ml", lines 111-114, characters 4-13:
- 111 | ....match Hashtbl.find ctx.values name with
- 112 |     | VStrings l -> l
- 113 |     | VString s -> [ s ]
- 114 |     | _ -> []
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type arg_value.
- 
- File "lib/base/cli.ml", line 135, characters 40-51:
- 135 | let command_with_subcommands name ~doc ?description ~commands =
-                                               ^^^^^^^^^^^
- Warning 16 [unerasable-optional-argument]: this optional argument cannot be erased.
- 
- File "lib/base/cli.ml", lines 619-621, characters 18-27:
- 619 | ..................match Hashtbl.find values spec.arg_name with
- 620 |                   | VStrings l -> l
- 621 |                   | _ -> []
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type arg_value.
- 
- File "lib/base/cli.ml", line 3, characters 0-11:
- 3 | open Compat
-     ^^^^^^^^^^^
- Warning 45 [open-shadow-label-constructor]: this open statement shadows the constructor Ok (which is later used)
- 
- File "lib/base/cli.ml", line 757, characters 4-6:
- 757 |     Ok ()
-           ^^
- Warning 41 [ambiguous-name]: Ok belongs to several types: Compat.result Stdlib.result
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/base/cli.ml", line 3, characters 0-11:
- 3 | open Compat
-     ^^^^^^^^^^^
- Warning 45 [open-shadow-label-constructor]: this open statement shadows the constructor Error (which is later used)
- 
- File "lib/base/cli.ml", line 22, characters 2-26:
- 22 |   arg_env : string option;
-        ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 69 [unused-field]: record field arg_env is never read.
- (However, this field is used to build or mutate values.)
- 
- File "lib/base/filesystem.ml", lines 19-22, characters 14-52:
- 19 | ..............match (Unix.lstat fent).Unix.st_kind with
- 20 |               | Unix.S_DIR -> rmdir_recursive Unix.rmdir fent
- 21 |               | Unix.S_REG -> Unix.unlink fent
- 22 |               | _ -> raise (UnexpectedFileType fent)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Unix.file_kind.
- 
- [ 13 of 103] Linking library dist/build/lib-obuild_base/obuild_base.cmxa
- [ 13 of 103] Linking library dist/build/lib-obuild_base/obuild_base.cmxs
- [ 13 of 103] Linking library dist/build/lib-obuild_base/obuild_base.cma
- [ 14 of 103] Checking dist/build/lib-obuild_base
- [ 15 of 103] Intfing Expr                          
- [ 16 of 103] Intfing Dag                           
- [ 17 of 103] Intfing Modname                       
- [ 18 of 103] Intfing Pp                            
- [ 19 of 103] Intfing Gconf                         
- [ 20 of 103] Compiling Obuild_ast                    
- [ 21 of 103] Compiling Obuild_lexer                  
- File "lib/core/obuild_ast.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- [ 22 of 103] Intfing Filetype                      
- [ 23 of 103] Intfing Types                         
- [ 24 of 103] Compiling Expr                          
- File "lib/core/obuild_lexer.ml", line 19, characters 0-54:
- 19 | (** A token with its location and indentation level *)
-      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 50 [unexpected-docstring]: ambiguous documentation comment
- 
- File "lib/core/obuild_lexer.ml", lines 142-147, characters 28-39:
- 142 | ............................function
- 143 |           | ({ tok = BLOCK (name, args); indent; _ }) :: more when indent > kv_indent ->
- 144 |               let cont = String.concat " " (name :: args) in
- 145 |               let v' = if v = "" then cont else v ^ " " ^ cont in
- 146 |               collect v' more
- 147 |           | remaining -> (v, remaining)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type token.
- 
- File "lib/core/obuild_lexer.ml", lines 138-151, characters 17-33:
- 138 | .................function
- 139 |     | [] -> []
- 140 |     | ({ tok = KEY_VALUE (k, v); indent = kv_indent; _ } as kv_tok) :: rest ->
- 141 |         (* Greedily collect BLOCK tokens at strictly higher indentation *)
- 142 |         let rec collect v = function
- ...
- 148 |         in
- 149 |         let full_v, remaining = collect v rest in
- 150 |         { kv_tok with tok = KEY_VALUE (k, full_v) } :: loop remaining
- 151 |     | t :: rest -> t :: loop rest
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type token.
- 
- File "lib/core/obuild_lexer.ml", line 189, characters 40-43:
- 189 |   Printf.sprintf "%d:%d indent=%d %s" t.loc.line t.loc.col t.indent (token_to_string t.tok)
-                                               ^^^
- Warning 41 [ambiguous-name]: loc belongs to several types: located_token Location.located
- The first one was selected. Please disambiguate if this is wrong.
- 
- File "lib/core/obuild_lexer.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- [ 25 of 103] Compiling Dag                           
- File "lib/core/expr.ml", lines 147-149, characters 6-34:
- 147 | ......match String_utils.split ':' v ~limit:2 with
- 148 |       | [ _ ] -> ("", v)
- 149 |       | [ p1; rest ] -> (p1, rest)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- _::rest::_::_
- 
- File "lib/core/expr.ml", lines 152-154, characters 6-34:
- 152 | ......match String_utils.split '-' rest ~limit:2 with
- 153 |       | [ _ ] -> (p1, rest, "")
- 154 |       | [ p2; p3 ] -> (p1, p2, p3)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- _::p3::_::_
- 
- File "lib/core/expr.ml", lines 251-256, characters 10-44:
- 251 | ..........match r with
- 252 |           | Token.RPAREN :: r -> (Paren e, r)
- 253 |           | Token.OR :: _ | Token.AND :: _ ->
- 254 |               let e, r = parse_bin_expr e r in
- 255 |               loop e r
- 256 |           | _ -> raise UnbalancedParenthesis
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Token.t.
- 
- File "lib/core/expr.ml", lines 243-265, characters 4-69:
- 243 | ....match l with
- 244 |     | [] -> raise MalformedExpression
- 245 |     | Token.NOT :: r ->
- 246 |         let e, r = parse_sub_expr r in
- 247 |         (Not e, r)
- ...
- 262 |     | Token.LT :: Token.VER v :: r -> (Lt v, r)
- 263 |     | Token.LE :: Token.VER v :: r -> (Le v, r)
- 264 |     | Token.NE :: Token.VER v :: r -> (Ne v, r)
- 265 |     | z -> raise (UnknownExpression (showList "," Token.to_string z))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Token.t.
- 
- File "lib/core/expr.ml", lines 267-274, characters 4-36:
- 267 | ....match l with
- 268 |     | Token.OR :: r ->
- 269 |         let e, r = parse_sub_expr r in
- 270 |         (Or (expr, e), r)
- 271 |     | Token.AND :: r ->
- 272 |         let e, r = parse_sub_expr r in
- 273 |         (And (expr, e), r)
- 274 |     | _ -> raise MalformedExpression
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Token.t.
- 
- File "lib/core/expr.ml", lines 309-312, characters 2-63:
- 309 | ..match Token.lexer s with
- 310 |   | [] -> raise ExpressionEmpty
- 311 |   | Token.ID name :: constraints -> (name, parse_constraints name constraints)
- 312 |   | x :: _ -> raise (InvalidDependencyName (Token.to_string x))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Token.t.
- 
- [ 26 of 103] Compiling Modname                       
- [ 27 of 103] Compiling Pp                            
- File "lib/core/modname.ml", line 2, characters 0-10:
- 2 | open Fugue
-     ^^^^^^^^^^
- Warning 33 [unused-open]: unused open Fugue.
- 
- [ 28 of 103] Compiling Gconf                         
- [ 29 of 103] Compiling Filetype                      
- File "lib/core/gconf.ml", lines 111-114, characters 18-18:
- 111 | ..................match opt with
- 112 |       | Executable_native | Library_native | Library_bytecode -> true
- 113 |       | Library_plugin -> Sys.os_type = "Unix"
- 114 |       | _ -> false
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type target_option.
- 
- File "lib/core/gconf.ml", lines 121-126, characters 2-11:
- 121 | ..match (opt, value) with
- 122 |   | Executable_profiling, true -> set_target_option_typed Library_profiling true
- 123 |   | Executable_debugging, true -> set_target_option_typed Library_debugging true
- 124 |   | Library_plugin, true -> set_target_option_typed Library_native true
- 125 |   | Library_native, false -> set_target_option_typed Library_plugin false
- 126 |   | _ -> ()
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type target_option.
- 
- File "lib/core/gconf.ml", line 1, characters 0-10:
- 1 | open Fugue
-     ^^^^^^^^^^
- Warning 33 [unused-open]: unused open Fugue.
- 
- [ 30 of 103] Compiling Types                         
- [ 31 of 103] Compiling Obuild_parser                 
- [ 32 of 103] Intfing Taskdep                       
- [ 33 of 103] Intfing Libname                       
- [ 34 of 103] Intfing Utils                         
- [ 35 of 103] Compiling Taskdep                       
- [ 36 of 103] Compiling Libname                       
- [ 37 of 103] Compiling Utils                         
- File "lib/core/obuild_parser.ml", line 200, characters 0-48:
- 200 | (** Parse generator match type from key-value *)
-       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 50 [unexpected-docstring]: unattached documentation comment (ignored)
- 
- File "lib/core/obuild_parser.ml", lines 206-218, characters 19-29:
- 206 | ...................(
- 207 |         match t.tok with
- 208 |         | KEY_VALUE (key, value) ->
- 209 |             let gen' =
- 210 |               match Compat.string_lowercase key with
- ...
- 215 |               | _ -> gen
- 216 |             in
- 217 |             loop gen' rest
- 218 |         | _ -> loop gen rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 227-238, characters 19-29:
- 227 | ...................(
- 228 |         match t.tok with
- 229 |         | KEY_VALUE (key, value) ->
- 230 |             let gen' =
- 231 |               match Compat.string_lowercase key with
- ...
- 235 |               | _ -> gen
- 236 |             in
- 237 |             loop gen' rest
- 238 |         | _ -> loop gen rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 246-287, characters 19-32:
- 246 | ...................(
- 247 |         match t.tok with
- 248 |         | KEY_VALUE (key, value) ->
- 249 |             let cstubs' =
- 250 |               match Compat.string_lowercase key with
- ...
- 284 |               | _ -> cstubs
- 285 |             in
- 286 |             loop cstubs' rest
- 287 |         | _ -> loop cstubs rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 296-308, characters 19-29:
- 296 | ...................(
- 297 |         match t.tok with
- 298 |         | KEY_VALUE (key, value) ->
- 299 |             let per' =
- 300 |               match Compat.string_lowercase key with
- ...
- 305 |               | _ -> per
- 306 |             in
- 307 |             loop per' rest
- 308 |         | _ -> loop per rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 331-372, characters 17-43:
- 331 | .................(
- 332 |       match t.tok with
- 333 |       | KEY_VALUE (key, value) ->
- 334 |           let lib' =
- 335 |             match Compat.string_lowercase key with
- ...
- 369 |             | _ -> lib
- 370 |           in
- 371 |           parse_library_tokens lib' remaining
- 372 |       | _ -> parse_library_tokens lib rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 391-422, characters 19-29:
- 391 | ...................(
- 392 |         match t.tok with
- 393 |         | KEY_VALUE (key, value) ->
- 394 |             let exe' =
- 395 |               match Compat.string_lowercase key with
- ...
- 419 |               | _ -> exe
- 420 |             in
- 421 |             loop exe' remaining
- 422 |         | _ -> loop exe rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 439-472, characters 19-30:
- 439 | ...................(
- 440 |         match t.tok with
- 441 |         | KEY_VALUE (key, value) ->
- 442 |             let test' =
- 443 |               match Compat.string_lowercase key with
- ...
- 469 |               | _ -> test
- 470 |             in
- 471 |             loop test' remaining
- 472 |         | _ -> loop test rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 483-519, characters 19-33:
- 483 | ...................(
- 484 |         match t.tok with
- 485 |         | KEY_VALUE (key, value) ->
- 486 |             let example' =
- 487 |               match Compat.string_lowercase key with
- ...
- 516 |               | _ -> example
- 517 |             in
- 518 |             loop example' remaining
- 519 |         | _ -> loop example rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 528-560, characters 19-31:
- 528 | ...................(
- 529 |         match t.tok with
- 530 |         | KEY_VALUE (key, value) ->
- 531 |             let bench' =
- 532 |               match Compat.string_lowercase key with
- ...
- 557 |               | _ -> bench
- 558 |             in
- 559 |             loop bench' remaining
- 560 |         | _ -> loop bench rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 569-579, characters 19-30:
- 569 | ...................(
- 570 |         match t.tok with
- 571 |         | KEY_VALUE (key, value) ->
- 572 |             let flag' =
- 573 |               match Compat.string_lowercase key with
- ...
- 576 |               | _ -> flag
- 577 |             in
- 578 |             loop flag' rest
- 579 |         | _ -> loop flag rest)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", lines 618-677, characters 4-13:
- 618 | ....match t.tok with
- 619 |     | KEY_VALUE (key, value) -> (
- 620 |         let p = !proj in
- 621 |         proj :=
- 622 |           match Compat.string_lowercase key with
- ...
- 674 |               let gen = parse_generator_block block_name block_tokens in
- 675 |               { p with project_generators = p.project_generators @ [ gen ] }
- 676 |           | _ -> p)
- 677 |     | _ -> ()
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild_lexer.token.
- 
- File "lib/core/obuild_parser.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- File "lib/core/obuild_parser.ml", line 97, characters 6-15:
- 97 |   let try_split sep =
-            ^^^^^^^^^
- Warning 26 [unused-var]: unused variable try_split.
- 
- [ 38 of 103] Intfing Dagutils                      
- [ 39 of 103] Compiling Dagutils                      
- File "lib/core/utils.ml", line 97, characters 17-69:
- 97 |           ignore (List.find (fun n -> Filesystem.exists (n p)) names);
-                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 5 [ignored-partial-application]: this function application is partial,
- maybe some arguments are missing.
- 
- File "lib/core/utils.ml", lines 124-126, characters 6-17:
- 124 | ......match status with
- 125 |       | Unix.WEXITED 0 -> Some (int_of_string (String_utils.strip_spaces line))
- 126 |       | _ -> None
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Unix.process_status.
- 
- [ 40 of 103] Intfing Helper                        
- [ 41 of 103] Compiling Helper                        
- [ 42 of 103] Intfing Process                       
- [ 43 of 103] Compiling Process                       
- File "lib/core/process.ml", line 1, characters 0-11:
- 1 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- File "lib/core/process.ml", lines 96-98, characters 2-57:
- 96 | ..match pstat with
- 97 |   | Unix.WEXITED 0 -> Success (Buffer.contents p.out.buf, Buffer.contents p.err.buf, Unix.gettimeofday () -. p.time)
- 98 |   | _              -> Failure (Buffer.contents p.err.buf)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Unix.process_status.
- 
- [ 44 of 103] Intfing Generators                    
- [ 45 of 103] Intfing Scheduler                     
- [ 46 of 103] Intfing FindlibConf                   
- [ 47 of 103] Intfing Prog                          
- [ 48 of 103] Compiling Scheduler                     
- [ 49 of 103] Compiling Generators                    
- [ 50 of 103] Compiling FindlibConf                   
- File "lib/core/generators.ml", lines 152-156, characters 2-11:
- 152 | ..match ext with
- 153 |   | Filetype.FileOther s ->
- 154 |       let s_with_dot = "." ^ s in
- 155 |       List.filter (fun gen -> gen.suffix = s || gen.suffix = s_with_dot) (get_all ())
- 156 |   | _ -> []
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
- 
- File "lib/core/generators.ml", line 2, characters 0-11:
- 2 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- [ 51 of 103] Compiling Prog                          
- [ 52 of 103] Intfing Hier                          
- [ 53 of 103] Intfing Meta                          
- [ 54 of 103] Compiling Hier                          
- [ 55 of 103] Intfing Dependencies                  
- [ 56 of 103] Compiling Meta                          
- [ 57 of 103] Compiling Dependencies                  
- File "lib/core/meta.ml", lines 143-145, characters 8-37:
- 143 | ........match p with
- 144 |         | Predicate.Neg n -> not (List.mem n constraints)
- 145 |         | _ -> List.mem p constraints.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Predicate.t.
- 
- File "lib/core/meta.ml", lines 158-160, characters 10-40:
- 158 | ..........match p with
- 159 |           | Predicate.Neg n -> not (Hashtbl.mem preds_set n)
- 160 |           | _ -> Hashtbl.mem preds_set p.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Predicate.t.
- 
- File "lib/core/meta.ml", lines 380-387, characters 28-20:
- 380 | ............................function
- 381 |     | COMMA :: ID s :: xs ->
- 382 |         let l, r = parse_predicate xs in
- 383 |         (Predicate.of_string s :: l, r)
- 384 |     | COMMA :: MINUS :: ID s :: xs ->
- 385 |         let l, r = parse_predicate xs in
- 386 |         (Predicate.Neg (Predicate.of_string s) :: l, r)
- 387 |     | xs -> ([], xs)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 393-395, characters 8-93:
- 393 | ........match xs2 with
- 394 |         | RPAREN :: xs3 -> (Predicate.of_string s :: preds, xs3)
- 395 |         | _ -> raise (MetaParseError (name, "expecting ')' after " ^ field ^ "'s predicate")).
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 398-400, characters 8-93:
- 398 | ........match xs2 with
- 399 |         | RPAREN :: xs3 -> (Predicate.Neg (Predicate.of_string s) :: preds, xs3)
- 400 |         | _ -> raise (MetaParseError (name, "expecting ')' after " ^ field ^ "'s predicate")).
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 389-401, characters 40-20:
- 389 | ........................................function
- 390 |     | LPAREN :: RPAREN :: xs -> ([], xs)
- 391 |     | LPAREN :: ID s :: xs -> (
- 392 |         let preds, xs2 = parse_predicate xs in
- 393 |         match xs2 with
- ...
- 398 |         match xs2 with
- 399 |         | RPAREN :: xs3 -> (Predicate.Neg (Predicate.of_string s) :: preds, xs3)
- 400 |         | _ -> raise (MetaParseError (name, "expecting ')' after " ^ field ^ "'s predicate")))
- 401 |     | xs -> ([], xs)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 416-432, characters 8-28:
- 416 | ........match xs2 with
- 417 |         | PLUSEQ :: S reqs :: xs3 | EQ :: S reqs :: xs3 ->
- 418 |             let deps =
- 419 |               List.map (fun r -> Libname.of_string r)
- 420 |               $ (List.filter (fun x -> x <> "")
- ...
- 429 |               (MetaParseError
- 430 |                  ( pkg_name,
- 431 |                    "parsing requires failed: expected '=' or '+=' followed by quoted dependency \
- 432 |                     list" )).
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 440-447, characters 8-94:
- 440 | ........match xs2 with
- 441 |         | EQ :: S v :: xs3 ->
- 442 |             let nacc = { acc with Pkg.warning = acc.Pkg.warning @ [ (preds, v) ] } in
- 443 |             parse pkg_name nacc expecting_rparen xs3
- 444 |         | _ ->
- 445 |             raise
- 446 |               (MetaParseError
- 447 |                  (pkg_name, "parsing warning failed: expected '=' followed by quoted string")).
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 450-462, characters 8-102:
- 450 | ........match xs2 with
- 451 |         | PLUSEQ :: S v :: xs3 ->
- 452 |             let nacc =
- 453 |               { acc with Pkg.append_archives = acc.Pkg.append_archives @ [ (preds, v) ] }
- 454 |             in
- ...
- 459 |         | _ ->
- 460 |             raise
- 461 |               (MetaParseError
- 462 |                  (pkg_name, "parsing archive failed: expected '=' or '+=' followed by quoted string"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 467-480, characters 8-98:
- 467 | ........match xs2 with
- 468 |         | PLUSEQ :: S v :: xs3 ->
- 469 |             let nacc =
- 470 |               { acc with Pkg.append_archives = acc.Pkg.append_archives @ [ (preds, v) ] }
- 471 |             in
- ...
- 477 |             raise
- 478 |               (MetaParseError
- 479 |                  ( pkg_name,
- 480 |                    "parsing plugin failed: expected '=' or '+=' followed by quoted plugin path" )).
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 485-491, characters 8-101:
- 485 | ........match xs2 with
- 486 |         | EQ :: S v :: xs3 ->
- 487 |             parse pkg_name { acc with Pkg.ppx = Some (preds, v) } expecting_rparen xs3
- 488 |         | _ ->
- 489 |             raise
- 490 |               (MetaParseError
- 491 |                  (pkg_name, "parsing ppx failed: expected '=' followed by quoted preprocessor path"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 495-503, characters 8-102:
- 495 | ........match xs2 with
- 496 |         | PLUSEQ :: S v :: xs3 | EQ :: S v :: xs3 ->
- 497 |             parse pkg_name
- 498 |               { acc with Pkg.ppxopt = acc.Pkg.ppxopt @ [ (preds, v) ] }
- 499 |               expecting_rparen xs3
- 500 |         | _ ->
- 501 |             raise
- 502 |               (MetaParseError
- 503 |                  (pkg_name, "parsing ppxopt failed: expected '=' or '+=' followed by quoted options"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 510-516, characters 26-93:
- 510 | ..........................function
- 511 |           | RPAREN :: zs -> zs
- 512 |           | _ :: zs -> consume zs
- 513 |           | [] ->
- 514 |               raise
- 515 |                 (MetaParseError
- 516 |                    (pkg_name, "unexpected EOF in error field (missing closing parenthesis)"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 518-523, characters 8-98:
- 518 | ........match consume xs with
- 519 |         | EQ :: S _ :: xs2 -> parse pkg_name acc expecting_rparen xs2
- 520 |         | _ ->
- 521 |             raise
- 522 |               (MetaParseError
- 523 |                  (pkg_name, "parsing error field failed, expected '=' after closing parenthesis")).
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 526-536, characters 8-99:
- 526 | ........match xs2 with
- 527 |         | EQ :: S s :: xs3 ->
- 528 |             parse pkg_name
- 529 |               {
- 530 |                 acc with
- ...
- 533 |               expecting_rparen xs3
- 534 |         | _ ->
- 535 |             raise
- 536 |               (MetaParseError (pkg_name, "parsing linkopts failed, expected '=' after predicates")).
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- File "lib/core/meta.ml", lines 403-546, characters 48-61:
- 403 | ................................................function
- 404 |     | [] ->
- 405 |         if expecting_rparen then
- 406 |           raise (MetaParseError (pkg_name, "unclosed package block (missing closing parenthesis)"))
- 407 |         else
- ...
- 543 |           (MetaParseError
- 544 |              ( pkg_name,
- 545 |                "unknown token '" ^ to_string x ^ "' in meta file\n"
- 546 |                ^ String.concat " " (List.map to_string xs) ))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
- 
- [ 58 of 103] Intfing Metacache                     
- [ 59 of 103] Intfing Target                        
- [ 60 of 103] Compiling Metacache                     
- [ 61 of 103] Compiling Target                        
- File "lib/core/metacache.ml", line 2, characters 0-11:
- 2 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- File "lib/core/target.ml", line 218, characters 37-51:
- 218 |       (Gconf.get_target_option_typed Library_native, Gconf.get_target_option_typed Library_bytecode)
-                                            ^^^^^^^^^^^^^^
- Warning 40 [name-out-of-scope]: Library_native was selected from type Gconf.target_option.
- It is not visible in the current scope, and will not 
- be selected if the type becomes unknown.
- 
- File "lib/core/target.ml", line 218, characters 37-51:
- 218 |       (Gconf.get_target_option_typed Library_native, Gconf.get_target_option_typed Library_bytecode)
-                                            ^^^^^^^^^^^^^^
- Warning 42 [disambiguated-name]: this use of Library_native relies on type-directed disambiguation,
- it will not compile with OCaml 4.00 or earlier.
- 
- File "lib/core/target.ml", line 218, characters 83-99:
- 218 |       (Gconf.get_target_option_typed Library_native, Gconf.get_target_option_typed Library_bytecode)
-                                                                                          ^^^^^^^^^^^^^^^^
- Warning 40 [name-out-of-scope]: Library_bytecode was selected from type Gconf.target_option.
- It is not visible in the current scope, and will not 
- be selected if the type becomes unknown.
- 
- File "lib/core/target.ml", line 218, characters 83-99:
- 218 |       (Gconf.get_target_option_typed Library_native, Gconf.get_target_option_typed Library_bytecode)
-                                                                                          ^^^^^^^^^^^^^^^^
- Warning 42 [disambiguated-name]: this use of Library_bytecode relies on type-directed disambiguation,
- it will not compile with OCaml 4.00 or earlier.
- 
- File "lib/core/target.ml", line 220, characters 37-54:
- 220 |       (Gconf.get_target_option_typed Executable_native, Gconf.get_target_option_typed Executable_bytecode)
-                                            ^^^^^^^^^^^^^^^^^
- Warning 40 [name-out-of-scope]: Executable_native was selected from type Gconf.target_option.
- It is not visible in the current scope, and will not 
- be selected if the type becomes unknown.
- 
- File "lib/core/target.ml", line 220, characters 37-54:
- 220 |       (Gconf.get_target_option_typed Executable_native, Gconf.get_target_option_typed Executable_bytecode)
-                                            ^^^^^^^^^^^^^^^^^
- Warning 42 [disambiguated-name]: this use of Executable_native relies on type-directed disambiguation,
- it will not compile with OCaml 4.00 or earlier.
- 
- File "lib/core/target.ml", line 220, characters 86-105:
- 220 |       (Gconf.get_target_option_typed Executable_native, Gconf.get_target_option_typed Executable_bytecode)
-                                                                                             ^^^^^^^^^^^^^^^^^^^
- Warning 40 [name-out-of-scope]: Executable_bytecode was selected from type Gconf.target_option.
- It is not visible in the current scope, and will not 
- be selected if the type becomes unknown.
- 
- File "lib/core/target.ml", line 220, characters 86-105:
- 220 |       (Gconf.get_target_option_typed Executable_native, Gconf.get_target_option_typed Executable_bytecode)
-                                                                                             ^^^^^^^^^^^^^^^^^^^
- Warning 42 [disambiguated-name]: this use of Executable_bytecode relies on type-directed disambiguation,
- it will not compile with OCaml 4.00 or earlier.
- 
- File "lib/core/target.ml", line 226, characters 35-52:
- 226 |     (Gconf.get_target_option_typed Library_debugging, Gconf.get_target_option_typed Library_profiling)
-                                          ^^^^^^^^^^^^^^^^^
- Warning 40 [name-out-of-scope]: Library_debugging was selected from type Gconf.target_option.
- It is not visible in the current scope, and will not 
- be selected if the type becomes unknown.
- 
- File "lib/core/target.ml", line 226, characters 35-52:
- 226 |     (Gconf.get_target_option_typed Library_debugging, Gconf.get_target_option_typed Library_profiling)
-                                          ^^^^^^^^^^^^^^^^^
- Warning 42 [disambiguated-name]: this use of Library_debugging relies on type-directed disambiguation,
- it will not compile with OCaml 4.00 or earlier.
- 
- File "lib/core/target.ml", line 226, characters 84-101:
- 226 |     (Gconf.get_target_option_typed Library_debugging, Gconf.get_target_option_typed Library_profiling)
-                                                                                           ^^^^^^^^^^^^^^^^^
- Warning 40 [name-out-of-scope]: Library_profiling was selected from type Gconf.target_option.
- It is not visible in the current scope, and will not 
- be selected if the type becomes unknown.
- 
- File "lib/core/target.ml", line 226, characters 84-101:
- 226 |     (Gconf.get_target_option_typed Library_debugging, Gconf.get_target_option_typed Library_profiling)
-                                                                                           ^^^^^^^^^^^^^^^^^
- Warning 42 [disambiguated-name]: this use of Library_profiling relies on type-directed disambiguation,
- it will not compile with OCaml 4.00 or earlier.
- 
- File "lib/core/target.ml", line 228, characters 35-55:
- 228 |     (Gconf.get_target_option_typed Executable_debugging, Gconf.get_target_option_typed Executable_profiling)
-                                          ^^^^^^^^^^^^^^^^^^^^
- Warning 40 [name-out-of-scope]: Executable_debugging was selected from type Gconf.target_option.
- It is not visible in the current scope, and will not 
- be selected if the type becomes unknown.
- 
- File "lib/core/target.ml", line 228, characters 35-55:
- 228 |     (Gconf.get_target_option_typed Executable_debugging, Gconf.get_target_option_typed Executable_profiling)
-                                          ^^^^^^^^^^^^^^^^^^^^
- Warning 42 [disambiguated-name]: this use of Executable_debugging relies on type-directed disambiguation,
- it will not compile with OCaml 4.00 or earlier.
- 
- File "lib/core/target.ml", line 228, characters 87-107:
- 228 |     (Gconf.get_target_option_typed Executable_debugging, Gconf.get_target_option_typed Executable_profiling)
-                                                                                              ^^^^^^^^^^^^^^^^^^^^
- Warning 40 [name-out-of-scope]: Executable_profiling was selected from type Gconf.target_option.
- It is not visible in the current scope, and will not 
- be selected if the type becomes unknown.
- 
- File "lib/core/target.ml", line 228, characters 87-107:
- 228 |     (Gconf.get_target_option_typed Executable_debugging, Gconf.get_target_option_typed Executable_profiling)
-                                                                                              ^^^^^^^^^^^^^^^^^^^^
- Warning 42 [disambiguated-name]: this use of Executable_profiling relies on type-directed disambiguation,
- it will not compile with OCaml 4.00 or earlier.
- 
- [ 62 of 103] Intfing Dist                          
- [ 63 of 103] Intfing Project                       
- [ 64 of 103] Compiling Dist                          
- [ 65 of 103] Compiling Project                       
- File "lib/core/project.ml", lines 107-109, characters 6-22:
- 107 | ......match target.target_buildable with
- 108 |       | BoolConst true -> BoolConst (Gconf.get_target_option_typed Gconf.Build_tests)
- 109 |       | other -> other
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.runtime_bool.
- 
- File "lib/core/project.ml", lines 136-138, characters 6-22:
- 136 | ......match target.target_buildable with
- 137 |       | BoolConst true -> BoolConst (Gconf.get_target_option_typed Gconf.Build_benchs)
- 138 |       | other -> other
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.runtime_bool.
- 
- File "lib/core/project.ml", lines 164-166, characters 6-22:
- 164 | ......match target.target_buildable with
- 165 |       | BoolConst true -> BoolConst (Gconf.get_target_option_typed Gconf.Build_examples)
- 166 |       | other -> other
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.runtime_bool.
- 
- [ 66 of 103] Compiling Obuild_validate               
- [ 67 of 103] Intfing Analyze                       
- [ 68 of 103] Compiling Analyze                       
- File "lib/core/obuild_validate.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- File "lib/core/obuild_validate.ml", line 7, characters 0-17:
- 7 | open Obuild_lexer
-     ^^^^^^^^^^^^^^^^^
- Warning 33 [unused-open]: unused open Obuild_lexer.
- 
- [ 69 of 103] Compiling Project_read                  
- File "lib/core/analyze.ml", lines 69-71, characters 6-17:
- 69 | ......match name with
- 70 |       | Name.Lib lname -> Some lname
- 71 |       | _ -> None.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- File "lib/core/analyze.ml", line 4, characters 0-11:
- 4 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- File "lib/core/analyze.ml", lines 225-234, characters 14-27:
- 225 | ..............match preds with
- 226 |               | [ Meta.Predicate.Toploop ] -> ()
- 227 |               | _ ->
- 228 |                   List.iter
- 229 |                     (fun reqDep ->
- 230 |                       log Debug "  library %s depends on %s\n" (Libname.to_string dep)
- 231 |                         (Libname.to_string reqDep);
- 232 |                       Dag.add_edge (Dependency dep) (Dependency reqDep) depsDag;
- 233 |                       loop reqDep)
- 234 |                     reqDeps.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Meta.Predicate.t.
- 
- File "lib/core/analyze.ml", lines 252-256, characters 8-28:
- 252 | ........match target.target_name with
- 253 |         | Name.Lib l ->
- 254 |             Dag.add_node (Dependency l) depsDag;
- 255 |             Dag.add_edge (Dependency l)
- 256 |         | _ -> fun _ _ -> ()
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- [ 70 of 103] Intfing Prepare_types                 
- File "lib/core/prepare_types.mli", line 7, characters 0-10:
- 7 | open Types
-     ^^^^^^^^^^
- Warning 33 [unused-open]: unused open Types.
- 
- [ 71 of 103] Intfing Configure                     
- [ 72 of 103] Compiling Prepare_types                 
- File "lib/core/project_read.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- [ 73 of 103] Compiling Configure                     
- File "lib/core/prepare_types.ml", line 8, characters 0-11:
- 8 | open Target
-     ^^^^^^^^^^^
- Warning 33 [unused-open]: unused open Target.
- 
- [ 74 of 103] Intfing Ppx_resolver                  
- [ 75 of 103] Compiling Ppx_resolver                  
- File "lib/core/configure.ml", line 4, characters 0-11:
- 4 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- File "lib/core/configure.ml", line 46, characters 4-15:
- 46 | let sanityCheck ?(needs_c_toolchain=false) () =
-          ^^^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value sanityCheck.
- 
- File "lib/core/ppx_resolver.ml", lines 80-82, characters 8-32:
- 80 | ........match node with
- 81 |         | Dependency dep -> Some dep
- 82 |         | _              -> None
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Analyze.dependency_tag.
- 
- File "lib/core/ppx_resolver.ml", line 25, characters 0-11:
- 25 | open Helper
-      ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- [ 76 of 103] Intfing Prepare                       
- [ 77 of 103] Compiling Prepare                       
- File "lib/core/prepare.ml", line 53, characters 0-11:
- 53 | open Helper
-      ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- File "lib/core/prepare.ml", lines 305-319, characters 10-21:
- 305 | ..........match
- 306 |             Filetype.of_filepath fp
- 307 |           with
- 308 |           | Filetype.FileML -> Some (Modname.of_filename f)
- 309 |           | Filetype.FileMLI ->
- ...
- 316 |                 Some (Modname.of_filename f)
- 317 |               else
- 318 |                 None
- 319 |           | _ -> None.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
- 
- File "lib/core/prepare.ml", lines 344-346, characters 8-20:
- 344 | ........match Hashtbl.find conf.project_dep_data dep with
- 345 |         | Internal -> true
- 346 |         | _ -> false.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Analyze.dep_type.
- 
- File "lib/core/prepare.ml", lines 484-488, characters 8-17:
- 484 | ........match r with
- 485 |         | CompileModule _ | CompileDirectory _ | CompileC _ ->
- 486 |             Dag.add_edge (LinkTarget target) r stepsDag;
- 487 |             Dag.add_edge (CheckTarget target) (LinkTarget target) stepsDag
- 488 |         | _ -> ().
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Prepare_types.compile_step.
- 
- File "lib/core/prepare.ml", lines 541-543, characters 8-64:
- 541 | ........match target.target_name with
- 542 |         | Target.Name.Lib l -> l
- 543 |         | _ -> failwith "cstubs can only be used with libraries"
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- File "lib/core/prepare.ml", lines 719-721, characters 8-25:
- 719 | ........match target.target_name with
- 720 |         | Target.Name.Lib libname -> autogenDir </> fn (Libname.to_string libname)
- 721 |         | _ -> autogenDir
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- File "lib/core/prepare.ml", lines 990-992, characters 10-19:
- 990 | ..........match (target.target_cstubs, target.target_name) with
- 991 |           | Some _, Target.Name.Lib libname -> [ autogenDir </> fn (Libname.to_string libname) ]
- 992 |           | _ -> []
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- File "lib/core/prepare.ml", line 57, characters 0-18:
- 57 | open Prepare_types
-      ^^^^^^^^^^^^^^^^^^
- Warning 33 [unused-open]: unused open Prepare_types.
- 
- [ 78 of 103] Intfing Buildprogs                    
- [ 79 of 103] Compiling Buildprogs                    
- File "lib/core/buildprogs.ml", lines 82-87, characters 14-75:
- 82 | ..............function
- 83 |     | Filetype.FileML -> ext
- 84 |     | Filetype.FileMLI -> Filetype.FileCMI
- 85 |     | _ ->
- 86 |         (* It should not happen *)
- 87 |         if buildMode = ByteCode then Filetype.FileCMO else Filetype.FileCMX
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
- 
- File "lib/core/buildprogs.ml", line 241, characters 4-41:
- 241 | let generate_cstubs_type_discovery_source cstubs libname autogen_dir =
-           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value generate_cstubs_type_discovery_source.
- 
- File "lib/core/buildprogs.ml", line 273, characters 4-41:
- 273 | let generate_cstubs_function_stubs_source cstubs libname autogen_dir =
-           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value generate_cstubs_function_stubs_source.
- 
- File "lib/core/buildprogs.ml", line 317, characters 4-24:
- 317 | let run_cstubs_generator project includes ml_file output_file =
-           ^^^^^^^^^^^^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value run_cstubs_generator.
- 
- [ 80 of 103] Compiling Build_cstubs                  
- File "lib/core/build_cstubs.ml", line 4, characters 0-11:
- 4 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- File "lib/core/build_cstubs.ml", line 80, characters 4-43:
- 80 |     Filesystem.mkdir_safe autogen_dir 0o755;
-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- 
- File "lib/core/build_cstubs.ml", line 252, characters 4-43:
- 252 |     Filesystem.mkdir_safe autogen_dir 0o755;
-           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- 
- File "lib/core/build_cstubs.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- File "lib/core/build_cstubs.ml", line 1, characters 0-10:
- 1 | open Fugue
-     ^^^^^^^^^^
- Warning 33 [unused-open]: unused open Fugue.
- 
- File "lib/core/build_cstubs.ml", line 5, characters 0-11:
- 5 | open Printf
-     ^^^^^^^^^^^
- Warning 33 [unused-open]: unused open Stdlib.Printf.
- 
- File "lib/core/build_cstubs.ml", line 6, characters 0-12:
- 6 | open Analyze
-     ^^^^^^^^^^^^
- Warning 33 [unused-open]: unused open Analyze.
- 
- [ 81 of 103] Intfing Build                         
- [ 82 of 103] Compiling Build                         
- File "lib/core/build.ml", lines 77-102, characters 4-50:
-  77 | ....match (Filetype.of_filename bdest, srcTy) with
-  78 |     | (Filetype.FileCMX | Filetype.FileCMO), (Filetype.FileCMX | Filetype.FileCMO) ->
-  79 |         let bml = Filetype.replace_extension bdest Filetype.FileML in
-  80 |         let bmli = Filetype.replace_extension bdest Filetype.FileMLI in
-  81 |         if bml = bsrc then
- ...
-  99 |           "H file " ^ fn_to_string bsrc ^ " changed"
- 100 |         else
- 101 |           "file changed " ^ fp_to_string changedSrc
- 102 |     | _, _ -> fp_to_string changedSrc ^ " changed"
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
- 
- File "lib/core/build.ml", lines 113-115, characters 6-17:
- 113 | ......match (t, o) with
- 114 |       | ByteCode, WithProf -> false
- 115 |       | _ -> true.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Types.ocaml_compiled_type.
- 
- File "lib/core/build.ml", lines 113-115, characters 6-17:
- 113 | ......match (t, o) with
- 114 |       | ByteCode, WithProf -> false
- 115 |       | _ -> true.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Types.ocaml_compilation_option.
- 
- File "lib/core/build.ml", line 4, characters 0-11:
- 4 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- File "lib/core/build.ml", lines 331-338, characters 22-26:
- 331 | ......................(
- 332 |               match e with
- 333 |               | Hier.FileEntry (_, f) ->
- 334 |                   if Filetype.of_filepath f = Filetype.FileMLI then
- 335 |                     Some m
- 336 |                   else
- 337 |                     None
- 338 |               | _ -> None)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Hier.file_entry.
- 
- File "lib/core/build.ml", lines 374-376, characters 4-87:
- 374 | ....match List.filter (fun x -> x <> []) l with
- 375 |     | [] -> ("", [])
- 376 |     | ((r, x) :: xs) :: ys -> (r, (x :: List.map snd xs) :: List.map (List.map snd) ys)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []::_
- 
- File "lib/core/build.ml", line 612, characters 10-26:
- 612 |   let rec dep_is_satisfied current_pkg =
-                 ^^^^^^^^^^^^^^^^
- Warning 39 [unused-rec-flag]: unused rec flag.
- 
- File "lib/core/build.ml", lines 651-653, characters 17-29:
- 651 | .................match compileOpt with
- 652 |                  | WithProf -> Meta.Predicate.Gprof :: preds
- 653 |                  | _ -> preds
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Types.ocaml_compilation_option.
- 
- File "lib/core/build.ml", lines 668-678, characters 2-58:
- 668 | ..match target.target_name with
- 669 |   | Name.Lib libname ->
- 670 |       if plugin then
- 671 |         cstate.compilation_builddir_ml Normal </> Libname.to_cmxs compileOpt libname
- 672 |       else
- ...
- 675 |       let outputName =
- 676 |         Utils.to_exe_name compileOpt compiledType (Target.get_target_dest_name target)
- 677 |       in
- 678 |       cstate.compilation_builddir_ml Normal </> outputName
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- File "lib/core/build.ml", lines 864-870, characters 6-15:
- 864 | ......match (target.target_cstubs, target.target_name) with
- 865 |       | Some cstubs, Name.Lib libname ->
- 866 |           let autogen_dir = get_cstubs_autogen_dir libname in
- 867 |           let c_lib_name = cstubs.cstubs_external_library_name in
- 868 |           let c_stubs_file = fn (c_lib_name ^ "_stubs.c") in
- 869 |           [ autogen_dir </> o_from_cfile c_stubs_file ]
- 870 |       | _ -> []
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- File "lib/core/build.ml", lines 960-963, characters 28-44:
- 960 | ............................(
- 961 |         match task with
- 962 |         | CompileC _ -> raise (CCompilationFailed er)
- 963 |         | _ -> raise (CompilationFailed er))..
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Prepare.compile_step.
- 
- File "lib/core/build.ml", line 390, characters 29-36:
- 390 | let check_compilation_needed is_intf dep_descs dir_spec use_thread annot_mode pack_opt use_pp oflags
-                                    ^^^^^^^
- Warning 27 [unused-var-strict]: unused variable is_intf.
- 
- File "lib/core/build.ml", line 582, characters 4-10:
- 582 | let link_c cstate clib_name =
-           ^^^^^^
- Warning 32 [unused-value-declaration]: unused value link_c.
- 
- [ 83 of 103] Intfing Exception                     
- [ 84 of 103] Compiling Exception                     
- [ 85 of 103] Linking library dist/build/lib-obuild_core/obuild_core.cmxa
- [ 85 of 103] Linking library dist/build/lib-obuild_core/obuild_core.cmxs
- [ 85 of 103] Linking library dist/build/lib-obuild_core/obuild_core.cma
- [ 86 of 103] Checking dist/build/lib-obuild_core
- [ 87 of 103] Intfing Help                          
- [ 88 of 103] Intfing Install                       
- [ 89 of 103] Intfing Doc                           
- [ 90 of 103] Intfing Init                          
- [ 91 of 103] Intfing Sdist                         
- [ 92 of 103] Compiling Help                          
- [ 93 of 103] Compiling Install                       
- [ 94 of 103] Compiling Init                          
- File "lib/install.ml", lines 22-31, characters 8-20:
- 22 | ........match Filetype.of_filepath (build_dir </> f) with
- 23 |         | Filetype.FileCMX
- 24 |         | Filetype.FileCMI
- 25 |         | Filetype.FileA
- 26 |         | Filetype.FileCMXS
- 27 |         | Filetype.FileCMXA
- 28 |         | Filetype.FileCMA
- 29 |         | Filetype.FileCMT
- 30 |         | Filetype.FileCMTI -> true
- 31 |         | _ -> false.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
- 
- File "lib/install.ml", lines 35-37, characters 6-18:
- 35 | ......match Filetype.of_filepath (build_dir </> f) with
- 36 |       | Filetype.FileEXE -> true
- 37 |       | _ -> false.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
- 
- File "lib/install.ml", lines 55-57, characters 10-19:
- 55 | ..........match target.target_name with
- 56 |           | Name.Lib _ -> print_target_files target list_lib_files
- 57 |           | _ -> ().
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- File "lib/install.ml", lines 63-65, characters 10-19:
- 63 | ..........match target.target_name with
- 64 |           | Name.Exe _ -> print_target_files target list_exe_files
- 65 |           | _ -> ().
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
- 
- File "lib/install.ml", line 7, characters 0-11:
- 7 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- [ 95 of 103] Compiling Doc                           
- [ 96 of 103] Compiling Sdist                         
- File "lib/doc.ml", line 5, characters 4-15:
- 5 | let runOcamldoc pp =
-         ^^^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value runOcamldoc.
- 
- File "lib/sdist.ml", lines 28-30, characters 12-21:
- 28 | ............match Filetype.of_filepath fpath with
- 29 |             | Filetype.FileML | Filetype.FileMLI -> Filesystem.copy_to_dir fpath dest
- 30 |             | _ -> ().
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
- 
- File "lib/sdist.ml", lines 38-40, characters 8-17:
- 38 | ........match Filetype.of_filepath fpath with
- 39 |         | Filetype.FileC | Filetype.FileH -> Filesystem.copy_to_dir fpath dest
- 40 |         | _ -> ().
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
- 
- File "lib/sdist.ml", line 3, characters 0-11:
- 3 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- [ 97 of 103] Linking library dist/build/lib-obuild/obuild.cmxa
- [ 97 of 103] Linking library dist/build/lib-obuild/obuild.cmxs
- [ 97 of 103] Linking library dist/build/lib-obuild/obuild.cma
- [ 98 of 103] Checking dist/build/lib-obuild
- [ 99 of 103] Compiling Path_generated                
- File "dist/build/autogen/path_generated.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- 
- [100 of 103] Intfing Main                          
- [101 of 103] Compiling Main                          
- File "src/main.ml", line 5, characters 0-11:
- 5 | open Helper
-     ^^^^^^^^^^^
- Warning 44 [open-shadow-identifier]: this open statement shadows the value identifier log (which is later used)
- 
- File "src/main.ml", line 103, characters 5-88:
- 103 |   |> Cli.option_strings "flag" ~doc:"Enable or disable a project flag (can be repeated)"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?placeholder
- 
- File "src/main.ml", line 104, characters 5-76:
- 104 |   |> Cli.option_bool "library-bytecode" ~doc:"Compile libraries as bytecode"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 105, characters 5-72:
- 105 |   |> Cli.option_bool "library-native" ~doc:"Compile libraries as native"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 106, characters 5-79:
- 106 |   |> Cli.option_bool "library-plugin" ~doc:"Compile libraries as native plugin"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 107, characters 5-81:
- 107 |   |> Cli.option_bool "executable-bytecode" ~doc:"Compile executables as bytecode"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 108, characters 5-77:
- 108 |   |> Cli.option_bool "executable-native" ~doc:"Compile executables as native"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 109, characters 5-72:
- 109 |   |> Cli.option_bool "library-profiling" ~doc:"Enable library profiling"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 110, characters 5-72:
- 110 |   |> Cli.option_bool "library-debugging" ~doc:"Enable library debugging"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 111, characters 5-78:
- 111 |   |> Cli.option_bool "executable-profiling" ~doc:"Enable executable profiling"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 112, characters 5-78:
- 112 |   |> Cli.option_bool "executable-debugging" ~doc:"Enable executable debugging"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 113, characters 5-59:
- 113 |   |> Cli.option_bool "build-examples" ~doc:"Build examples"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 114, characters 5-59:
- 114 |   |> Cli.option_bool "build-benchs" ~doc:"Build benchmarks"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 115, characters 5-53:
- 115 |   |> Cli.option_bool "build-tests" ~doc:"Build tests"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default, ?placeholder
- 
- File "src/main.ml", line 116, characters 5-70:
- 116 |   |> Cli.flag "executable-as-obj" ~doc:"Output executable as obj file"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env
- 
- File "src/main.ml", line 117, characters 5-50:
- 117 |   |> Cli.flag "annot" ~doc:"Generate .annot files"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env
- 
- File "src/main.ml", line 118, characters 5-62:
- 118 |   |> Cli.flag "g" ~short:'g' ~doc:"Compilation with debugging"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional argument ?env
- 
- File "src/main.ml", line 119, characters 5-52:
- 119 |   |> Cli.flag "pg" ~doc:"Compilation with profiling"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env
- 
- File "src/main.ml", lines 157-158, characters 5-48:
- 157 | .....Cli.option_int "jobs" ~short:'j' ~placeholder:"N" ~default:gconf.parallel_jobs
- 158 |        ~doc:"Maximum number of jobs in parallel"
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional argument ?env
- 
- File "src/main.ml", line 159, characters 5-67:
- 159 |   |> Cli.flag "dot" ~doc:"Dump dependencies dot files during build"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env
- 
- File "src/main.ml", line 160, characters 5-77:
- 160 |   |> Cli.flag "noocamlmklib" ~doc:"Do not use ocamlmklib when linking C code"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env
- 
- File "src/main.ml", line 190, characters 26-84:
- 190 |   cmd |> Cli.help_flag |> Cli.flag "snapshot" ~doc:"Build a snapshot of the project"
-                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env
- 
- File "src/main.ml", line 221, characters 5-96:
- 221 |   |> Cli.option_string "destdir" ~placeholder:"DIR" ~doc:"Override destination where to install"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env, ?default
- 
- File "src/main.ml", line 222, characters 5-66:
- 222 |   |> Cli.flag "opam" ~doc:"Only create the .install file for opam"
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env
- 
- File "src/main.ml", line 282, characters 26-68:
- 282 |   cmd |> Cli.help_flag |> Cli.flag "output" ~doc:"Show test outputs"
-                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 48 [eliminated-optional-arguments]: implicit elimination of optional arguments ?short, ?env
- 
- File "src/main.ml", line 7, characters 0-8:
- 7 | open Cli
-     ^^^^^^^^
- Warning 33 [unused-open]: unused open Cli.
- 
- File "src/main.ml", line 400, characters 16-19:
- 400 |       ~run:(fun ctx ->
-                       ^^^
- Warning 27 [unused-var-strict]: unused variable ctx.
- 
- File "src/main.ml", line 456, characters 16-19:
- 456 |       ~run:(fun ctx ->
-                       ^^^
- Warning 27 [unused-var-strict]: unused variable ctx.
- 
- [102 of 103] Linking executable dist/build/obuild/obuild
- [103 of 103] Checking dist/build/obuild
-> compiled  obuild.0.2.2
-> installed obuild.0.2.2
Done.
2026-03-14 19:05.07 ---> saved as "fb5a0c4c29842af16caf5b1ccc3fcf701386d6afdcfa80f9237087b5e790c29b"
Job succeeded