Более новый GLIBC для RHEL/CentOS 5.x

У меня есть ситуация, когда группа разработчиков пытается развернуть бинарное приложение на серии серверов 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 (с патчами и бэкпортами, но все еще застрял на 2.5)

Я был в состоянии обойти другие требования библиотеки, копируя отдельные библиотеки и используя LD_PRELOAD в скриптах-обёртках. Моя позиция заключается в том, что RHEL предназначен для поддержки бинарной совместимости в течение всего срока службы поддержки, и что у меня нет хороших вариантов для обновления такой важной библиотеки в системах. Среда раньше была в основном Gentoo, поэтому разработчики привыкли обновлять пакеты по частям без каких-либо проблем с зависимостями.

Я думаю, что правильное решение - перекомпилировать для целевых систем. Из-за метода распространения приложения, это может быть не вариант. Есть ли другие решения или предложения?

1 ответ

Решение
  • ссылка статически (-статическая)
  • используйте rpath. rpath перезаписывает путь поиска по умолчанию (-rpath,/srv/myapp/lib)
Другие вопросы по тегам