У меня есть ситуация, когда группа разработчиков пытается развернуть бинарное приложение на серии серверов RHEL 5.5 и CentOS 5.5. К сожалению, приложение было разработано на другой платформе (Gentoo), и выполнение приводит к ошибке зависимости GLIBC:
libc.so.6: version `GLIBC_2.7' not found (required by
/path/to/application/bin/program.app)
RHEL / CentOS 5.x стандартизирован на GLIBC 2.5 (с исправлениями и backports, но все еще застрял на 2.5)
Я пытался обойти другие требования библиотеки, копируя отдельные библиотеки и используя LD_PRELOAD
в скриптах-оболочках. Моя позиция заключается в том, что RHEL предназначен для поддержания бинарной совместимости на протяжении всего срока службы поддержки, и что у меня нет хороших вариантов для обновления такой важной библиотеки в системах. Раньше в качестве среды использовался Gentoo, поэтому разработчики привыкли обновлять пакеты по частям без каких-либо проблем с реальной зависимостью.
Я думаю, что правильное решение - перекомпилировать для целевых систем. Из-за метода распространения приложения это может быть не вариант. Есть ли другие решения или предложения?