ocaml 4.02.3において、以下のコマンドでlongident.mlというファイルを
コンパイルする際に下で示すエラーが表示されました。

longident.mlの中身はtype t = intのみで、他にファイルがないディレクトリでコンパイルしました。
longident.mlはコンパイラのコードでparsing/longident.mlが存在するため
ocamlcommon.cmxaに含まれているからエラーになっていると思うのですが
なぜcompiler-libsが以下のコンパイルコマンドでocamlfindにより認識されているのでしょうか?

ちなみに-packageからbatteriessexplibのどちらかを外した時にも同様のエラーが発生しました。
-packageを書かないでocamlfind optでコンパイルした時には通常通りコンパイルできました。
.opam/package/からbatteriessexplibの依存関係とその依存パッケージの依存関係を見てもcompiler-libsにdependしているという記述は見つけられませんでした。

ocamlfind opt -package batteries,sexplib.syntax -linkpkg -syntax camlp4o ./longident.ml 
findlib: [WARNING] Interface longident.cmi occurs in several directories: ., /home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs
findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs, /home/tokuda/.opam/4.02.3/lib/ocaml
File "./longident.ml", line 1:
Error: Files ./longident.cmx
       and /home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs/ocamlcommon.cmxa
       both define a module named Longident

-verboseをつけた時の表示は以下のとおりです。

ocamlfind opt -package batteries,sexplib.syntax -linkpkg -syntax camlp4o -verbose ./longident.ml 
findlib: [WARNING] Interface longident.cmi occurs in several directories: ., /home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs
findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs, /home/tokuda/.opam/4.02.3/lib/ocaml
Effective set of preprocessor predicates: preprocessor,syntax,camlp4o
Effective set of compiler predicates: pkg_unix,pkg_num.core,pkg_num,pkg_bigarray,pkg_str,pkg_bytes,pkg_batteries,pkg_camlp4,pkg_compiler-libs,pkg_compiler-libs.common,pkg_type_conv,pkg_sexplib,pkg_sexplib.syntax,syntax,autolink,native
+ ocamlopt.opt -verbose -I /home/tokuda/.opam/4.02.3/lib/num -I /home/tokuda/.opam/4.02.3/lib/bytes -I /home/tokuda/.opam/4.02.3/lib/batteries -I /home/tokuda/.opam/4.02.3/lib/ocaml/camlp4 -I /home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs -I /home/tokuda/.opam/4.02.3/lib/type_conv -I /home/tokuda/.opam/4.02.3/lib/sexplib -pp "camlp4 '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml/camlp4' '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs' '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs' '-I' '/home/tokuda/.opam/4.02.3/lib/type_conv' '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml' '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml' '-I' '/home/tokuda/.opam/4.02.3/lib/sexplib' '-I' '/home/tokuda/.opam/4.02.3/lib/sexplib' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'ocamlcommon.cma' 'pa_type_conv.cma' 'unix.cma' 'bigarray.cma' 'sexplib.cma' 'pa_sexp_conv.cma' " /home/tokuda/.opam/4.02.3/lib/ocaml/unix.cmxa /home/tokuda/.opam/4.02.3/lib/ocaml/nums.cmxa /home/tokuda/.opam/4.02.3/lib/ocaml/bigarray.cmxa /home/tokuda/.opam/4.02.3/lib/ocaml/str.cmxa /home/tokuda/.opam/4.02.3/lib/batteries/batteries.cmxa /home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs/ocamlcommon.cmxa /home/tokuda/.opam/4.02.3/lib/sexplib/sexplib.cmxa ./longident.ml
+ camlp4 '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml/camlp4' '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs' '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs' '-I' '/home/tokuda/.opam/4.02.3/lib/type_conv' '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml' '-I' '/home/tokuda/.opam/4.02.3/lib/ocaml' '-I' '/home/tokuda/.opam/4.02.3/lib/sexplib' '-I' '/home/tokuda/.opam/4.02.3/lib/sexplib' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'ocamlcommon.cma' 'pa_type_conv.cma' 'unix.cma' 'bigarray.cma' 'sexplib.cma' 'pa_sexp_conv.cma'  './longident.ml' > /tmp/ocamlpp0f6ab1
+ as -o './longident.o' '/tmp/camlasmc75b90.s'
File "./longident.ml", line 1:
Error: Files ./longident.cmx
       and /home/tokuda/.opam/4.02.3/lib/ocaml/compiler-libs/ocamlcommon.cmxa
       both define a module named Longident
ocamlopt.opt returned with exit code 2