2016-09-28 70 views
0

我剛在Windows 10.1上做了一個新的cygwin64安裝。 我從cygwin存儲庫安裝了ocaml包(4.02.3)。 我不得不flexdll相關的奇怪的錯誤:cygwin上ocaml的flexdll錯誤

$ ocaml的 OCaml的版本4.02.3

#load 「str.cma」 ;;

無法加載所需的共享庫dllcamlstr。 原因:/usr/lib/ocaml/stublibs/dllcamlstr.so:flexdll錯誤:無法重定位RELOC_REL32,目標太遠:0xfffffffc12c2a92a 0x12c2a92a。

你知道問題是什麼以及如何規避它嗎?事實上,我在嘗試從源代碼編譯cygwin上的findlib時遇到了類似的問題。

最好的問候, 弗朗索瓦

+0

我不知道您提到的錯誤的詳細信息,但在Windows中安裝OCaml時存在相關問題。希望它可以幫助你:http://stackoverflow.com/questions/39560241/how-can-i-install-ocaml-with-opam-on-windows/39693955#39693955 –

+0

謝謝。但這並不直接適用於我的情況。我的公司對網絡訪問和下載的限制政策非常嚴格。特別是,我不能使用opam。這就是爲什麼我使用cygwin軟件包,我可以在家中下載並選擇從本地目錄(外部驅動器,...)進行安裝。 – fbrx

+0

你使你的本地opam倉庫,從家裏下載所有的軟件包,然後把它運行 – ivg

回答

0

弗朗索瓦,

我想在cygwin下編譯findlib時所面臨的同樣的問題。我正在使用cygwin的ocaml包。

我的解決方案是從cygwin中卸載ocaml包,然後從源代碼(即版本4.03.0,而不是4.02.3打包到cygwin中)下載並編譯ocaml,使用以下命令安裝更換Cygwin的ocaml的軟件:

./configure -prefix /usr -no-curses 
make world.opt 
make install 

一旦ocaml的來源安裝,配置和構建findlib是成功的:

cd findlib-1.7.1 
./configure 
make all 
make opt 
make install 

我希望幫助,

David。

+0

謝謝你的建議。我試過了,但在編譯ocaml時出現以下錯誤: '$ make world' '[']' '../boot/ocamlrun ../boot/ocamlc -nostdlib -I ../ boot -c -strict-sequence -w + 27 + 32..39 -warn-error A -safe-string -I ../utils -I ../parsing -I ../typing -I ../bytecomp - I ../asmcomp -I ../middle_end -I ../middle_end/base_types -I ../driver -I ../tvelvel ocamlmklib.ml' 'File「ocamlmklib.ml」,line 264,characters 7- 12: 錯誤:未綁定值mklib' 'make [4]:*** [Makefile.shared:341:ocamlmklib.cmo] Error 2' – fbrx