在cygwin上使用ocaml的flexdll错误

时间:2016-09-28 20:42:23

标签: cygwin ocaml

我刚刚在Windows 10.1上安装了cygwin64。 我从cygwin存储库安装了ocaml package(4.02.3)。 我有与flexdll相关的奇怪错误:

$ ocaml         OCaml版本4.02.3

#load“str.cma”;;

无法加载所需的共享库dllcamlstr。 原因:/usr/lib/ocaml/stublibs/dllcamlstr.so:flexdll错误:无法重定位RELOC_REL32,目标太远:0xfffffffc12c2a92a 0x12c2a92a。

你知道问题是什么以及如何规避它吗?事实上,我在尝试从源代码编译cygwin上的findlib时遇到了类似的问题。

祝你好运, 弗朗索瓦

1 个答案:

答案 0 :(得分:1)

弗朗索瓦,

尝试在cygwin下编译findlib时遇到了同样的问题。我正在使用cygwin的ocaml包。

我的解决方案是从cygwin卸载ocaml软件包,然后从源代码(即版本4.03.0,而不是与cygwin一起打包的4.02.3)下载并编译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

我希望有所帮助,

大卫。