Skip to content

Instantly share code, notes, and snippets.

@philCryoport
Created March 22, 2022 00:54
Show Gist options
  • Save philCryoport/1486159bcaed6c245dbab65a8e945787 to your computer and use it in GitHub Desktop.
Save philCryoport/1486159bcaed6c245dbab65a8e945787 to your computer and use it in GitHub Desktop.
ocamlfind issue #40 -- prefacing `TERM=dumb` to `ls site-lib-src`
ocamlfind on  master [!?] via 🅒 base
➜ make clean
for p in `cd src; echo *`; do ( cd src/$p; /Library/Developer/CommandLineTools/usr/bin/make clean ); done
ocamlbuild -clean
Finished, 0 targets (0 cached) in 00:00:00.
00:00:00 0 (0 ) STARTING -------- |rm -f *.cmi *.cmo *.cma *.cmx *.a *.lib *.o *.obj *.cmxa \
fl_meta.ml findlib_config.ml findlib.mml topfind.ml topfind \
ocamlfind ocamlfind_opt
rm -f *.cmi *.cmo
rm -f make_wizard # tree tree_editor
(cd itest-aux; /Library/Developer/CommandLineTools/usr/bin/make clean)
rm -f simple simple.exe *.cmi *.cmo *.cma *.cmx *.o *.obj *.a *.lib
rm -f err.out
rm -f testdb*
(cd tools/extract_args; /Library/Developer/CommandLineTools/usr/bin/make clean)
rm -f *.cmo *.cmi *.cma extract_args extract_args.ml
rm -f findlib.conf Makefile.packages
(base)
ocamlfind on  master [!] via 🅒 base
➜ ./configure
Welcome to findlib version 1.9.3
Configuring core...
Checking for #remove_directory...
Testing threading model...
systhread_supported: true
Testing DLLs...
Testing whether ppxopt can be supported...
Checking for ocamlc -opaque...
Querying installation: found list of findlib-generated META files
Installation has: bytes,dynlink,stdlib
Configuring libraries...
unix: package already present
bigarray: package already present
compiler-libs: package already present
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: package already present
raw_spacetime: not present (normal since 4.12)
threads: package already present
str: package already present
labltk: not present (normal since 4.02)
native dynlink: found
camlp4: not present (normal since OCaml-4.02)
bytes: found, installing fake library
Configuration for dynlink written to site-lib-src/dynlink/META
Configuration for stdlib written to site-lib-src/stdlib/META
Configuration for bytes written to site-lib-src/bytes/META
Detecting compiler arguments: (extractor built) ok
About the OCAML core installation:
Standard library: /Users/<user>/.opam/4.13.1/lib/ocaml
Binaries: /Users/<user>/.opam/4.13.1/bin
Manual pages: /Users/<user>/.opam/4.13.1/man
Multi-threading type: posix
The directory of site-specific packages will be
site-lib: /Users/<user>/.opam/4.13.1/lib/ocaml/site-lib
The configuration file is written to:
findlib config file: /Users/<user>/.opam/4.13.1/lib/findlib.conf
Software will be installed:
Libraries: in <site-lib>/findlib
Binaries: /Users/<user>/.opam/4.13.1/bin
Manual pages: /Users/<user>/.opam/4.13.1/man
topfind script: /Users/<user>/.opam/4.13.1/lib/ocaml
Topfind ppxopt support: yes
Toolbox: no
Link custom runtime: yes
Need bytes compatibility: no
Configuration has been written to Makefile.config
You can now do 'make all', and optionally 'make opt', to build ocamlfind.
(base)
ocamlfind on  master [!] via 🅒 base
➜ make all
for p in findlib; do ( cd src/$p; /Library/Developer/CommandLineTools/usr/bin/make all ) || exit; done
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@' '/Users/<user>/.opam/4.13.1/lib/findlib.conf' | \
../../tools/patch '@STDLIB@' '/Users/<user>/.opam/4.13.1/lib/ocaml' | \
sed -e 's;@AUTOLINK@;true;g' \
-e 's;@SYSTEM@;macosx;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 -g -c findlib_config.ml
ocamlc -I +compiler-libs -opaque -g -c fl_split.ml
ocamlc -I +compiler-libs -opaque -g -c fl_metatoken.ml
ocamlc -I +compiler-libs -opaque -g -c fl_meta.ml
ocamlc -I +compiler-libs -opaque -c fl_metascanner.mli
ocamlc -I +compiler-libs -opaque -g -c fl_metascanner.ml
ocamlc -I +compiler-libs -opaque -c fl_topo.mli
ocamlc -I +compiler-libs -opaque -g -c fl_topo.ml
ocamlc -I +compiler-libs -opaque -c fl_package_base.mli
ocamlc -I +compiler-libs -opaque -g -c fl_package_base.ml
File "fl_package_base.ml", line 304, characters 22-40:
304 | let pkg_ancestors = query_requirements predlist pkg in
^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
File "fl_package_base.ml", line 350, characters 18-36:
350 | let ancestors = query_requirements predlist package_name in
^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
File "fl_package_base.ml", line 375, characters 23-41:
375 | let pkg_ancestors = query_requirements predlist pkg in
^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
File "fl_package_base.ml", line 510, characters 16-35:
510 | ( let c = package_definitions search_path pkg.package_name in
^^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label search_path was omitted in the application of this function.
ocamlc -I +compiler-libs -opaque -c findlib.mli
ocamlc -I +compiler-libs -opaque -g -c findlib.ml
File "findlib.ml", line 390, characters 2-26:
390 | Fl_package_base.requires predlist pkg
^^^^^^^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
File "findlib.ml", line 396, characters 2-33:
396 | Fl_package_base.requires_deeply predlist pkglist
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
ocamlc -I +compiler-libs -opaque -g -c fl_args.ml
ocamlc -I +compiler-libs -opaque -g -c fl_lint.ml
ocamlc -I +compiler-libs -a -o findlib.cma findlib_config.cmo fl_split.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 -g -c ocaml_args.ml
ocamlc -I +compiler-libs -opaque -g -c frontend.ml
File "frontend.ml", line 859, characters 10-39:
859 | Fl_package_base.package_users predicates1 packages1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
ocamlc -I +compiler-libs -custom -o ocamlfind -g findlib.cma unix.cma \
ocaml_args.cmo frontend.cmo
ocamlc -I +compiler-libs -opaque -c topfind.mli
ocamlc -I +compiler-libs -opaque -g -c topfind.ml
File "topfind.ml", line 126, characters 40-63:
126 | match Hashtbl.find Toploop.directive_table "ppx" with
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 256, characters 4-27:
256 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 266, characters 4-27:
266 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 278, characters 4-27:
278 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 291, characters 4-27:
291 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 305, characters 4-27:
305 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 317, characters 4-27:
317 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
ocamlc -I +compiler-libs -a -o findlib_top.cma topfind.cmo
USE_CYGPATH="0"; \
export USE_CYGPATH; \
cat topfind_rd1.p | \
../../tools/patch '@SITELIB@' '/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib' \
>topfind
ocamlc -I +compiler-libs -opaque -c fl_dynload.mli
ocamlc -I +compiler-libs -opaque -g -c fl_dynload.ml
ocamlc -I +compiler-libs -a -o findlib_dynload.cma fl_dynload.cmo
/Library/Developer/CommandLineTools/usr/bin/make all-config
USE_CYGPATH="0"; \
export USE_CYGPATH; \
cat findlib.conf.in | \
tools/patch '@SITELIB@' '/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib' >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
(base)
ocamlfind on  master [!] via 🅒 base
➜ make opt
for p in findlib; do ( cd src/$p; /Library/Developer/CommandLineTools/usr/bin/make opt ) || exit; done
ocamlopt -I +compiler-libs -g -opaque -c findlib_config.ml
ocamlopt -I +compiler-libs -g -opaque -c fl_split.ml
ocamlopt -I +compiler-libs -g -opaque -c fl_metatoken.ml
ocamlopt -I +compiler-libs -g -opaque -c fl_meta.ml
ocamlopt -I +compiler-libs -g -opaque -c fl_metascanner.ml
ocamlopt -I +compiler-libs -g -opaque -c fl_topo.ml
ocamlopt -I +compiler-libs -g -opaque -c fl_package_base.ml
File "fl_package_base.ml", line 304, characters 22-40:
304 | let pkg_ancestors = query_requirements predlist pkg in
^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
File "fl_package_base.ml", line 350, characters 18-36:
350 | let ancestors = query_requirements predlist package_name in
^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
File "fl_package_base.ml", line 375, characters 23-41:
375 | let pkg_ancestors = query_requirements predlist pkg in
^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
File "fl_package_base.ml", line 510, characters 16-35:
510 | ( let c = package_definitions search_path pkg.package_name in
^^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label search_path was omitted in the application of this function.
ocamlopt -I +compiler-libs -g -opaque -c findlib.ml
File "findlib.ml", line 390, characters 2-26:
390 | Fl_package_base.requires predlist pkg
^^^^^^^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
File "findlib.ml", line 396, characters 2-33:
396 | Fl_package_base.requires_deeply predlist pkglist
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
ocamlopt -I +compiler-libs -g -opaque -c fl_args.ml
ocamlopt -I +compiler-libs -g -opaque -c fl_lint.ml
ocamlopt -I +compiler-libs -g -a -o findlib.cmxa findlib_config.cmx fl_split.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 findlib_config.cmx fl_split.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 -c ocaml_args.ml
ocamlopt -I +compiler-libs -g -opaque -c frontend.ml
File "frontend.ml", line 859, characters 10-39:
859 | Fl_package_base.package_users predicates1 packages1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
ocamlopt -I +compiler-libs -g -o ocamlfind_opt findlib.cmxa unix.cmxa \
ocaml_args.cmx frontend.cmx
ocamlopt -I +compiler-libs -g -opaque -c topfind.ml
File "topfind.ml", line 126, characters 40-63:
126 | match Hashtbl.find Toploop.directive_table "ppx" with
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 256, characters 4-27:
256 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 266, characters 4-27:
266 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 278, characters 4-27:
278 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 291, characters 4-27:
291 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 305, characters 4-27:
305 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "topfind.ml", line 317, characters 4-27:
317 | Toploop.directive_table
^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: Toploop.directive_table
File "_none_", line 1:
Warning 58 [no-cmx-file]: no cmx file was found in path for module Topdirs, and its interface was not compiled with -opaque
File "_none_", line 1:
Warning 58 [no-cmx-file]: no cmx file was found in path for module Toploop, and its interface was not compiled with -opaque
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 -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
(base)
ocamlfind on  master [!?] via 🅒 base took 3s
➜ make install
if [ "0" -eq 1 ]; then \
for x in camlp4 dbm graphics labltk num ocamlbuild; do \
if [ -f "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/$x/META" ]; then \
if ! grep -Fq '[distributed with Ocaml]' "//Users/<user>/.opam/4.13.1/lib/ocaml/site-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 `TERM=dumb 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
mkdir -p "/Users/<user>/.opam/4.13.1/bin"
mkdir -p "/Users/<user>/.opam/4.13.1/man"
/Library/Developer/CommandLineTools/usr/bin/make install-config
mkdir -p "`dirname \"/Users/<user>/.opam/4.13.1/lib/findlib.conf\"`"
!!! Keeping old /Users/<user>/.opam/4.13.1/lib/findlib.conf !!!
test -f "/Users/<user>/.opam/4.13.1/lib/findlib.conf" || cp findlib.conf "/Users/<user>/.opam/4.13.1/lib/findlib.conf"
for p in findlib; do ( cd src/$p; /Library/Developer/CommandLineTools/usr/bin/make install ); done
mkdir -p "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/findlib"
mkdir -p "/Users/<user>/.opam/4.13.1/bin"
test 1 -eq 0 || cp topfind "/Users/<user>/.opam/4.13.1/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 "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/findlib"
f="ocamlfind"; { test -f ocamlfind_opt && f="ocamlfind_opt"; }; \
cp $f "/Users/<user>/.opam/4.13.1/bin/ocamlfind"
# the following "if" block is only needed for 4.00beta2
if [ 1 -eq 0 -a -f "/Users/<user>/.opam/4.13.1/lib/ocaml/compiler-libs/topdirs.cmi" ]; then \
cd "/Users/<user>/.opam/4.13.1/lib/ocaml/compiler-libs/"; \
cp topdirs.cmi toploop.cmi "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/findlib/"; \
fi
/Library/Developer/CommandLineTools/usr/bin/make install-meta
for x in bytes dynlink stdlib ; do mkdir -p "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/$x"; cp site-lib-src/$x/META "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/$x/META.tmp" && mv "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/$x/META.tmp" "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/$x/META"; done
mkdir -p "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/findlib"; cp Makefile.packages "/Users/<user>/.opam/4.13.1/lib/ocaml/site-lib/findlib/Makefile.packages"
test ! -f 'site-lib-src/num-top/META' || { cd src/findlib; /Library/Developer/CommandLineTools/usr/bin/make install-num-top; }
test ! -f 'site-lib-src/camlp4/META' || cp tools/safe_camlp4 "/Users/<user>/.opam/4.13.1/bin"
/Library/Developer/CommandLineTools/usr/bin/make install-doc
mkdir -p "/Users/<user>/.opam/4.13.1/man/man1" "/Users/<user>/.opam/4.13.1/man/man3" "/Users/<user>/.opam/4.13.1/man/man5"
cp doc/ref-man/ocamlfind.1 "/Users/<user>/.opam/4.13.1/man/man1"
cp: doc/ref-man/ocamlfind.1: No such file or directory
make[1]: [install-doc] Error 1 (ignored)
cp doc/ref-man/META.5 doc/ref-man/site-lib.5 doc/ref-man/findlib.conf.5 "/Users/<user>/.opam/4.13.1/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
make[1]: [install-doc] Error 1 (ignored)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment