Как установить несколько версий glibc?

У меня есть версия glibc 2.19 на ubuntu. Я также хотел бы установить версию 2.3.4 вместе с 2.19 на моем компьютере.

По умолчанию вся программа должна использовать 2.19, но только конкретная программа должна использовать 2.3.4.

Два вопроса:

  • Как установить 2.3.4 в определенном месте, скажем /usr/glibc 2.3.4?
  • Как указать конкретную программу для использования версии 2.3.4?

Ответ 1


Если вам просто нужны динамические библиотеки из другой версии glibc, вы можете просто использовать LD_LIBRARY_PATH. Но если вы хотите полностью использовать другую версию, вам нужно скомпилировать ее против другой версии, чтобы получить статические части. И вы можете захотеть скомпилировать другую версию glibc, чтобы получить все жесткие пути, указывающие на ваш каталог установки для загрузки файлов данных и плагинов (для NSS и gconv). Использование --prefix=/usr/glibc2.3.4 также установит имя динамического загрузчика на /usr/glibc2.3.4/lib/ld-linux.so.2 (или что-то подобное в зависимости от вашей архитектуры), которое будет жестко закодировано в каждой связанной с ним программе.

Ответ 2

  • Извлеките вторую версию внутри /opt.
  • Используйте LD_LIBRARY_PATH для поиска библиотек внутри /opt.