11

Ubuntu64マシンでMEGAMOcamlライブラリのソースコードをコンパイルしようとしています。

を使用してOCamlをインストールしました(v 3.12.1)sudo apt-get install ocaml

解凍したソースコードのターミナルで「make」コマンドを実行すると問題が発生し、OCamlがエラーを返します。

/user/bin/ld: cannot find -lstr
collect2: error: ld returned 1 exit status

makefileは、次の2つのコマンドを生成しています。

 ocamldep *.ml > .depend

実行時にエラーはありません

ocamlc -g -custom -o megam str.cma -cclib -lstr bigarray.cma -cclib -lbigarray unix.cma -cclib -lunix -I /usr/lib/ocaml/caml fastdot_c.c fastdot.cmointHashtbl.cmoarry。 cmo util.cmo data.cmo bitvec.cmo cg.cmo wsemlm.cmo bfgs.cmo pa.cmo perceptron.cmo radapt.cmo kernelmap.cmo abffs.cmo main.cmo

実行時に上記のエラーをスローします。

コンパイルコマンドから-lstrを削除しようとしましたが、その特定のエラーのスローを停止しましたが、別のエラー(Reference to undefined global 'Bigarray')のスローを開始しました。これにより、OCamlのインストール中に見逃したもの、ある種のPATHまたは参照である可能性があります。設定する必要がありました。

何かを思いつくのに本当に苦労しているので、たとえそれが暗闇の中でのショットであったとしても、どんな助けも本当にありがたいです!

4

3 に答える 3

16

ここに記載されている手順により、エラーなしでコンパイルできます。要約すると、次のようになります。

locate libcamlstr

これは、libcamlstrが/usr/lib/ocaml(YMMV)にあることを示しているので、次のようにします。

cd /usr/lib/ocaml
sudo ln -s libcamlstr.a libstr.a

次に、プロジェクトをコンパイルできます。

cd /usr/local/src/cil
make clean && ./configure && make
于 2012-11-27T13:23:07.773 に答える
3

からmakefileを変更することができます

-lstr

-lcamlstr
于 2014-06-20T14:13:52.557 に答える
2

OCamlバグトラッカーでこのバグの最後のコメントを参照してください。

バグ5247

于 2012-11-27T15:33:05.177 に答える