2012-11-22 1 views
2
**Build mode: shared 
ocamlbuild -no-links syntax.otarget byte.otarget src/batteries_help.cmo META shared.otarget 

Finished, 0 targets (0 cached) in 00:00:00. 

+ ocamlfind ocamlc -c -g -annot -warn-error A -package camomile,num,str -package camlp4.lib -pp camlp4of -pp camlp4of -I libs/estring -I benchsuite -I src -I testsuite -I build -I qtest -I libs -I src/syntax/pa_comprehension -I src/syntax/pa_strings -o libs/estring/pa_estring_top.cmo 
libs/estring/pa_estring_top.ml 

File "libs/estring/pa_estring_top.ml", line 18, characters 15-44: 

Error: Unbound module Toploop 

Command exited with code 2.** 


Compilation unsuccessful after building 6 targets (5 cached) in 00:00:00.** 

내가 경로에 toploop.cmi 발견 : 내 시스템 경로로 /home/xxx/...을 한OCaml의 배터리 : 언 바운드 모듈 Toploop

export PATH=/home/xxx/OCaml/lib/ocaml/compiler-libs/:$PATH 

cd OCaml/lib/ocaml/compiler-libs/ 
ls topl* 

toploop.cmi 

와 당신이 볼로. 그러나 그것은 여전히 ​​효과가 없었습니다. 모듈을 포함 시키려면 어떻게해야합니까?

+0

감사합니다. 나는 새로운 꽃이야. 나는 나의 미래의 질문에 형식에주의를 기울일 것이다. :) – Canoe

답변

2

compiler-libs 디렉토리를 새로 도입 한 OCaml 4.00 배터리 (버전은?)를 컴파일하는 것으로 보입니다 (하지만 일부 배포판의 경우 이전에 꺼져있을 수도 있습니다). toploop은 OCaml stdlib 디렉토리의 루트에 있었지만 어딘가에 -I +compiler-libs 옵션을 추가하거나 해당 ocamlfind 패키지 (-package compiler-libs.toplevel)를 사용해야합니다.

+0

배터리 버전은 1.4.1입니다. 이 시스템은 OCaml의 두 가지 버전 인 3.09와 4.00을 가지고 있습니다. 3.09는/usr/..에 있고 다른 하나는/home/xxx/OCaml에 있습니다. 나는 그것을/usr/... 경로에 설치할 수있는 권한이 없다. – Canoe

+0

파일 "libs/estring/pa_estring_top.ml", 줄 18, 문자 15-44 :. pa_estring_top.ml 코드는 여기에 있습니다 : – Canoe

+0

하자 _ = 하자 구문 분석 = Toploop.parse_toplevel_phrase 및 lexbufs = REF [] Toploop.parse_toplevel_phrase에서! = ~ – Canoe