Мне нужно развернуть в Linux поле собственного приложения OCaml, которое зависит от нескольких динамических библиотек. Идея состоит в том, чтобы подготовить автономный пакет (без зависимостей от OCaml, OPAM и т. Д.), Который содержит все материалы, и может быть установлен гипотетически в любой современной коробке Linux x84. В идеальном мире будет только один файл, который будет развернут и запущен.Развертывание автономного собственного приложения OCaml
Лучшее, что я могу придумать, это развернуть все необходимые динамические библиотеки (ldd app.native
) вместе с исполняемым программным приложением и запустить приложение с помощью сценария bash, который экспортирует LD_LIBRARY_PATH
перед вызовом приложения.
Любые идеи, как сделать это лучше, приветствуются.
UPDATE
Некоторые советы:
- Использование Linux Application Checker для проверки совместимости с различными дистрибутивами Linux.
- Создайте двоичный пакет на стабильном, но немного устаревшем дистрибутиве (например, CentOS 6 на данный момент), чтобы улучшить совместимость
libc
. - Примеры скриптов для build двоичный пакет и run исполняемый файл.
Я ошибаюсь, думая, что аспект «OCaml» здесь довольно вторичен? То есть что вопрос может заключаться в развертывании автономного двоичного файла в linux. Если нет, не могли бы вы точнее указать, в чем проблема. –
@ DanielBünzli Да, вы правы, OCaml вторичен. – Stas