OPAM provides one (or more) OCaml installations independent from the default one, i.e. the compiler or libraries normally found in /usr/bin
, /usr/lib/ocaml
or /usr/local/blahblah
. Therefore, your OCaml system installed by hand and OPAM based one can co-exist. All the OPAM installation is done under $HOME/.opam/switch/
(switch=system by default), including the binary executable. So, for your case, OCamlFind was not overwritten by OPAM. OPAM has installed another OCamlFind in a different directory.
Which system is used can be "switched" by environmnetal variables. "opam config env" shows the variables you must declare to use the current "switch". If you want to use the default installation, make sure that these variables not refer OPAM things.
To live with your hand compiled libraries and OPAM packages, recompile and reinstall them under the OPAM switched environment. Note that OPAM may overwrite your packages here. For example, if you install ocamlfind by hand in "system" OPAM dir then if you type "opam install ocamlfind", then OPAM overwrites your OCamlFind installation. (Oh, BTW, I think it is hard for OPAM to warn us when it is overwriting existing installation here, since an OPAM package has no information about which OCamlFind packages it installs).
Using the libraries installed in the default place and OPAM packages at the same time is... AFAIK, not easy. At least OPAM is not desgined for such use, I think. To avoid confusion of library paths, port them to one of OPAM switch.
If you get some feature wishes of OPAM in future, post them at https://github.com/OCamlPro/opam.