Назад | Перейти на главную страницу

Более новый 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 (с исправлениями и backports, но все еще застрял на 2.5)

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

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

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