Я использую libcurl в своем проекте, и он зависит от openssl и множества других.so во время выполнения.
Эта зависимость является своего рода головной болью, поскольку разные дистрибутивы/версии могут содержать разные версии openssl.
Например, у меня возникли проблемы с запуском в Ubuntu 11.10, если я скомпилировал свое приложение в Ubuntu 9.10.
Я вижу два варианта решения этой проблемы, но ни один из них не подходит для моего случая:
упаковать мое приложение и позволить диспетчеру пакетов решить подобные проблемы
статически связать все зависимости
Мой приложение действительно крошечное, и упаковывать/поддерживать его было бы излишним. Кроме того, одним из требований является то, что он должен быть загружаемым -и -запускаемым. Итак, (1 )для меня не оптон.
Статическая ссылка (2 )не была бы -плохим решением, но кажется, что не существует статических бинарных дистрибутивов libopenssl, libcrypto и других транзитивных зависимостей, поставляемых с libcurl.
Теоретически я мог бы попытаться создать весь этот зоопарк библиотек за libcurl вручную, но кажется, что это значительно усложнит обслуживание.
Итак, вот вопрос -я что-то упустил? Есть ли менее болезненный способ сделать то, что я хочу, в мире Linux (Ubuntu, чтобы быть конкретным )с меньшими трудностями? Любые предложения приветствуются.