Запуск `ocsigen` приводит к ошибке компоновки: `dllssl_threads_stubs.so` изображение не найдено
В настоящее время я борюсь со странной проблемой компоновщика из ocsigenserver
, По-видимому, он ищет динамические библиотеки openssl, связанные с ocaml. Я оба сделал 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
Эд их.
1 ответ
Вы можете добавить библиотеку вручную в файл your_project_name.conf.in
как <extension path="where_shared_object_located" findlib-package="dllssl_threads_stubs"/>
, чтобы найти путь, где находится общий объектный файл на вашем компьютере, вы можете сделать ldconfig -p | grep dllssl_threads_stubs
надеюсь, это будет полезно.