Работа с зависимостями библиотек от Linux

Я использую libcurl в своем проекте, и он зависит от openssl и множества других.so во время выполнения.
Эта зависимость является своего рода головной болью, поскольку разные дистрибутивы/версии могут содержать разные версии openssl.

Например, у меня возникли проблемы с запуском в Ubuntu 11.10, если я скомпилировал свое приложение в Ubuntu 9.10.

Я вижу два варианта решения этой проблемы, но ни один из них не подходит для моего случая:

  1. упаковать мое приложение и позволить диспетчеру пакетов решить подобные проблемы

  2. статически связать все зависимости

Мой приложение действительно крошечное, и упаковывать/поддерживать его было бы излишним. Кроме того, одним из требований является то, что он должен быть загружаемым -и -запускаемым. Итак, (1 )для меня не оптон.

Статическая ссылка (2 )не была бы -плохим решением, но кажется, что не существует статических бинарных дистрибутивов libopenssl, libcrypto и других транзитивных зависимостей, поставляемых с libcurl.

Теоретически я мог бы попытаться создать весь этот зоопарк библиотек за libcurl вручную, но кажется, что это значительно усложнит обслуживание.

Итак, вот вопрос -я что-то упустил? Есть ли менее болезненный способ сделать то, что я хочу, в мире Linux (Ubuntu, чтобы быть конкретным )с меньшими трудностями? Любые предложения приветствуются.

5
задан Vadim Kotov 12 October 2017 в 11:39
поделиться