我目前正在与来自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
了它们。
发布于 2018-03-29 20:11:25
你可以手动将库添加到文件your_project_name.conf.in
中,作为<extension path="where_shared_object_located" findlib-package="dllssl_threads_stubs"/>
,要找到共享目标文件在你机器上的路径,你可以执行ldconfig -p | grep dllssl_threads_stubs
,希望它会有所帮助。
https://stackoverflow.com/questions/48668800
复制相似问题