0

http://protz.github.io/ocaml-installer/から OCaml 4.01.0 をインストールしました。現在、camlp5-6.11 をビルドしようとしています。Cygwin で ./configure && make world.opt を実行すると、

...
sed -e "s|@VERSION@|6.11|" -e "s|@CAMLP5DIR@|D:\OCaml\lib/camlp5|" META.tpl > META
make[2]: Leaving directory '/cygdrive/d/Downloads/camlp5-6.11/etc'
make[2]: Entering directory '/cygdrive/d/Downloads/camlp5-6.11/top'
ocamlrun.exe ../boot/camlp5r.exe -nolib -I ../boot -mode S -o camlp5_top.ppo camlp5_top.ml
ocamlc.opt -warn-error A -I ../main -I ../boot -I ../ocaml_stuff/4.01.0/utils -I ../ocaml_stuff/4.01.0/parsing -I D:OCamllib/compiler-libs -c -impl camlp5_top.ppo
File "camlp5_top.ml", line 51, characters 14-32:
Error: Unbound module Toploop
../config/Makefile:20: recipe for target 'camlp5_top.cmo' failed
make[2]: *** [camlp5_top.cmo] Error 2
make[2]: Leaving directory '/cygdrive/d/Downloads/camlp5-6.11/top'
Makefile:26: recipe for target 'out' failed
make[1]: *** [out] Error 2
make[1]: Leaving directory '/cygdrive/d/Downloads/camlp5-6.11'
Makefile:141: recipe for target 'world.opt' failed
make: *** [world.opt] Error 2

これを修正するにはどうすればよいですか?

4

1 に答える 1

2

Camlp5 の Makefile は Windows でテストされていないのではないかと思います。バックスラッシュを適切に処理していない可能性があります。実際、あなたの出力ではD:OCamllib/compiler-libs、エラーが Camlp5 側にあると思われることがわかります。パスは明らかにD:\OCaml\lib....

Windows に関するほとんど知られていない事実:/はパス区切りとしても機能するため、それがオプションである場合はd:/ocaml/、OCaml インストールのルート ディレクトリとして Makefile のどこかにハードコードすることもできますが、修正する必要もあります。d:/ocaml/libライブラリ ディレクトリとして生成する Makefile 。

于 2013-11-06T10:30:45.560 に答える