
На работе у нас есть библиотека, предоставленная поставщиком, которая была доставлена нам в виде заголовков и .so
файлов C++. Наша производственная среда долгое время была CentOS 6, но вскоре мы можем перейти на CentOS 7. Файлы RPM были созданы как для библиотеки, так и для нашей программы C++, которая использует библиотеку.
Я также должен упомянуть, что зависимости библиотеки поставщика динамически связаны.
Установка на новые экземпляры CentOS 6 работает нормально через yum
, однако на CentOS 7 дела идут совсем плохо. yum
жалуется на множество пакетов, которые не может найти, libpython2.6.so
например, python2.6 (ie ). Я могу найти RPM для всех этих различных отсутствующих зависимостей, но во многих случаях не могу их установить, так как yum говорит, что «ничего не поделаешь» в случаях, когда это означало бы понижение версии.
Полагаю, мой вопрос двоякий. Возможно ли, как в случае с Python, установить другую версию Python через yum
, не делая ее системной версией, чтобы компоновщик мог найти ее для этой старой библиотеки поставщика?
Создание всех .so
файлов вручную кажется проигранной битвой, посколькумногоотсутствующих зависимостей, например libpng12
, когда CentOS 7 имеет libpng15
.
Что бы сделал в этом случае опытный сисадмин? Или это просто тот случай, когда запуск старой программы на CentOS 7 — это борьба с ветряными мельницами?