Error: Unbound module Graph with OCaml 4.07.0
/Library/Developer/CommandLineTools/usr/bin/make rec
set -e; for i in commons commons_ocollection commons_core commons_wrappers/graph commons_wrappers/gui globals h_version-control h_visualization h_files-format h_program-lang graph_code h_program-visual matcher lang_ml/parsing lang_ml/analyze lang_nw/parsing lang_nw/analyze lang_lisp/parsing lang_lisp/analyze lang_haskell/parsing lang_haskell/analyze lang_php/parsing lang_php/matcher lang_php/pretty lang_sql/parsing lang_js/parsing lang_js/analyze lang_cpp/parsing lang_cpp/analyze lang_c/parsing lang_c/analyze lang_clang/parsing lang_clang/analyze lang_java/parsing lang_java/analyze lang_python/parsing lang_python/analyze lang_csharp/parsing lang_csharp/analyze lang_rust/parsing lang_rust/analyze lang_opa/parsing lang_opa/analyze lang_erlang/parsing lang_erlang/analyze lang_php/analyze lang_php/analyze/foundation lang_php/analyze/checker lang_php/analyze/tools lang_php/analyze/qa_test lang_html/parsing lang_html/analyze lang_css/parsing lang_web/parsing lang_text mini code_map code_graph demos; do /Library/Developer/CommandLineTools/usr/bin/make -C $i all || exit 1; done
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all'.
ocamlc.opt -g -thread -dtypes -w +A-4-6-29-41-44-45-48 -bin-annot -absname -I ../../commons -I ../../external/ocamlgraph/ -c graphe.ml
File "/Users/wstewart/work/pfff/commons_wrappers/graph/graphe.ml", line 110, characters 12-30:
Error: Unbound module Graph
make[2]: *** [graphe.cmo] Error 2
make[1]: *** [rec] Error 1
make: *** [all] Error 2
Have switched to OCaml 4.02.3 and trying that now.
I have problem with ocaml 7.0 in OPAM because one of the package I'm using, ocamlcairo does not work for this version. I'm trying to switch to cairo2, but they have just added support for pango fonts, so right now it's better to switch to ocaml 4.02.3
Unfortunately I'm still having an issue getting it working on 4.02.3, which errors on make -C external
# make -C external
set -e; for i in battery_included/empty battery_included/json-wheel battery_included/ocamlgraph battery_included/ocamlgtk battery_included/ocamlcairo battery_included/ocamlzip battery_included/extlib battery_included/ptrees battery_included/javalib; do /Library/Developer/CommandLineTools/usr/bin/make -C $i all || exit 1; done
make[1]: Nothing to be done for `all'.
make[1]: Nothing to be done for `all'.
make[1]: Nothing to be done for `all'.
/Library/Developer/CommandLineTools/usr/bin/make -C src all
make[2]: Nothing to be done for `all'.
/Library/Developer/CommandLineTools/usr/bin/make -C src all
make[2]: Nothing to be done for `all'.
make[1]: Nothing to be done for `all'.
make[1]: Nothing to be done for `all'.
make[1]: Nothing to be done for `all'.
ocamlc.opt -g -thread -dtypes -w -32 -bin-annot -absname -pp camlp4o -I ../../../../external/extlib -I ../../../../external/ptrees -c jBasics.ml
File "~/work/pfff/external/battery_included/ocamljavalib/src/jBasics.ml", line 368, characters 11-34:
Error: Unbound module ExtString
Hint: Did you mean String?
make[1]: *** [jBasics.cmo] Error 2
make: *** [all] Error 1
Sorry, I'm a complete OCaml noob, but I'll happily help in anyway I can.
So I realise now that external/OPAM_DIR points to /home/pad/.opam/4.02.3, so I changed it with the following, but I'm still having issues with the ptrees includes instead of extlib now.
rm external/OPAM_DIR
ln -s "${HOME}/.opam/4.02.3" external/OPAM_DIR
Should be fixed by now, I believe?
probably