2016-09-28 41 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