o'caml プログラムから sqlite データベースにアクセスするために、ocaml-sqlite3 バインディングをインストールしようとしています。
configure と make はスムーズに進みますが、インストールは失敗します。ファイル sqlite3.cma はバイトコード オブジェクト ファイルではないためです (以下を参照)。
~/Software/ocaml-sqlite3-release-1.5.6> sudo make install
[ -f *.so ] && SO_FILES=*.so; \
ocamlfind install sqlite3 META sqlite3.cmi sqlite3.mli sqlite3.cma *.cmxa *.a *.cmx $SO_FILES
Installed /usr/lib64/ocaml/site-lib/sqlite3/dllsqlite3_stubs.so
Installed /usr/lib64/ocaml/site-lib/sqlite3/sqlite3.cmx
Installed /usr/lib64/ocaml/site-lib/sqlite3/sqlite3.a
Installed /usr/lib64/ocaml/site-lib/sqlite3/libsqlite3_stubs.a
Installed /usr/lib64/ocaml/site-lib/sqlite3/sqlite3.cmxa
Installed /usr/lib64/ocaml/site-lib/sqlite3/sqlite3.cma
Installed /usr/lib64/ocaml/site-lib/sqlite3/sqlite3.mli
Installed /usr/lib64/ocaml/site-lib/sqlite3/sqlite3.cmi
Installed /usr/lib64/ocaml/site-lib/sqlite3/META
Updated /usr/lib64/ocaml/ld.conf
ocamlfind ocamlmktop -o sqlite3top -package "sqlite3" sqlite3.cma
The file sqlite3.cma is not a bytecode object file
make: *** [install] Error 2
その一般的な理由は何ですか?この特定の lib でそれを経験しましたか? ソースからコンパイルされた ocaml v 3.11.1 を実行しています。
編集: ファイルは ocamlfind によって提供されているようですが、問題は 64 環境を使用していることが原因である可能性があります。