2012-11-27 16 views
9

Próbuję skompilować kod źródłowy biblioteki MEGAM Ocaml na komputerze z systemem Ubuntu 64.Błąd kompilacji OCaml:/usr/bin/ld: nie można znaleźć -lstr

Mam zainstalowany OCaml (v 3.12.1), używając sudo apt-get install ocaml.

Mam problem podczas uruchamiania „make” polecenie w terminalu na kodzie źródłowym rozpakowanym z SML powrocie błąd:

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

Makefile produkuje następujące dwa polecenia:

ocamldep *.ml > .depend 

brak błędu podczas uruchamiania

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.cmo intHashtbl.cmo arry.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

Zgłasza błąd powyżej podczas uruchamiania.

Próbowałem usunąć -lstr z polecenia kompilacji, przestał wyrzucać ten konkretny błąd, ale zaczął wywoływać kolejny błąd (Reference to undefined global 'Bigarray'), co sprawia, że ​​wszystko to może być coś, co przegapiłem podczas instalacji OCaml, niektóre rodzaj PATH lub odniesienia, które musiałem ustawić.

Każda pomoc jest naprawdę doceniana, nawet jeśli jest to tylko ujęcie w ciemności, ponieważ tak naprawdę staram się wymyślić cokolwiek!

Odpowiedz

13

The instructions given here Pozwól mi się skompilować bez błędu. To sprowadza się do:

locate libcamlstr 

który mówi mi, że może libcamlstr znaleźć w /usr/lib/ocaml (YMMV), więc robię:

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

Wtedy jestem w stanie skompilować projekt:

cd /usr/local/src/cil 
make clean && ./configure && make 
+0

Co jest/usr/local/src/cil? Nie mam tego folderu ... –

Powiązane problemy