1

我目前正在与一个奇怪的链接器问题作斗争ocsigenserver。它显然是在寻找与 ocaml 相关的 openssl 动态库。我已经完成了brew install openssl(最新版本)和opam install openssl. 但我仍然收到以下错误:

ocsigenserver  -c /usr/local/etc/web/web.conf
Fatal error: cannot load shared library dllssl_threads_stubs
Reason: dlopen(dllssl_threads_stubs.so, 138): image not found

我不确定这里发生了什么。如果我这样做,openssl link我会得到

Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
  -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

这对我来说意味着我可能需要强制 ocsigen 的构建包含这些标志,但我不确定我是否走在正确的轨道上。我觉得这必须表明eliom或者ssl必须安装不正确,但我刚刚opam reinstall编辑了它们。

4

1 回答 1

0

您可以将库手动添加到文件your_project_name.conf.in<extension path="where_shared_object_located" findlib-package="dllssl_threads_stubs"/>,以查找共享对象文件在您的机器上的路径,ldconfig -p | grep dllssl_threads_stubs希望对您有所帮助。

于 2018-03-29T12:11:24.897 回答