title: Setting up an Ocaml library using 'ocamlfind install' and then using the library in ocamlbuild
body: <p>I followed the instructions <a href="https://stackoverflow.com/questions/8663869/where-to-place-a-shared-utility-module-in-ocaml">here</a> for setting installing a library in site-lib using ocamlfind install.  I had two libraries: one called logic and another called boolean. In each case I installed the .cmo, .cmx, .cmi and .mli files in the library, for example:</p>
  
  <pre><code>ocamlfind install boolean META boolean.cmo boolean.cmx boolean.cmi boolean.mli
  </code></pre>
  
  <p>Then when I went to build another project that depends on logic and boolean using ocamlbuild, I  got the following error message:</p>
  
  <pre><code>$ocamlbuild -use-ocamlfind test_logic.native -classic-display
  ...
  /home/phil/godi-3.12.1.0/bin/ocamlfind ocamlopt -c -package boolean -package deriving-    ocsigen -package deriving-ocsigen.syntax -package logic -package oUnit -package unix -syntax   camlp4o -o test_logic.cmx test_logic.ml
  /home/phil/godi-3.12.1.0/bin/ocamlfind ocamlopt -linkpkg -linkpkg -package boolean -package deriving-ocsigen -package deriving-ocsigen.syntax -package logic -package oUnit -package unix -syntax camlp4o vhdl.cmx fsm.cmx test_logic.cmx -o test_logic.native
  + /home/phil/godi-3.12.1.0/bin/ocamlfind ocamlopt -linkpkg -linkpkg -package boolean -package deriving-ocsigen -package deriving-ocsigen.syntax -package logic -package oUnit -package unix -syntax camlp4o vhdl.cmx fsm.cmx test_logic.cmx -o test_logic.native
  gcc: /home/phil/godi-3.12.1.0/lib/ocaml/site-lib/logic/logic.o: No such file or directory
  gcc: /home/phil/godi-3.12.1.0/lib/ocaml/site-lib/boolean/boolean.o: No such file or directory
  File "caml_startup", line 1, characters 0-1:
  Error: Error during linking
  Command exited with code 2.
  </code></pre>
  
  <p>I then copied the .o files from the logic and boolean projects over to their respective areas in site-lib and it compiled and linked fine.</p>
  
  <p>I'm wondering why the .o files were needed and why gcc is involved here?</p>
  
  <p>Here's my _tags file in case it helps:</p>
  
  <pre><code>&lt;*.ml&gt; or "test_logic.native" or "test_loginc.byte": package(boolean),package(unix),     package(oUnit), package(deriving-ocsigen), package(deriving-ocsigen.syntax), syntax(camlp4o), package(logic)
  </code></pre>