glibc на базе Linux - PullRequest
       5

glibc на базе Linux

0 голосов
/ 02 марта 2011

В настоящее время я использую Ubuntu 9.10 с версией glibc 2.11.1-0, хорошо, я делаю проект, который я хочу протестировать с другой версией glibc 2.5-58, я хотел бы знать следующие вещи, касающиесяthis:

Как скомпилировать версию 2.5-58, но сохранить прежнюю версию?

Как связать существующие программы с двоичными файлами более новой версии glibc?

Я был бы очень признателен, если кто-нибудь может мне помочь !!!

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 марта 2012

Если вы знаете, что эта версия libc используется в более старом дистрибутиве, вы можете установить этот дистрибутив в chroot / scratchbox / kvm / qemu / livecd или в другой подобной системе для тестирования и сборки.Или может быть какое-то другое решение типа фермы сборки.Тогда у вас будет аутентичная система для тестирования, которая не испортит вашу современную.Это также будет повторяться, если вы сохраните этот системный образ.

Если речь идет не о конкретном более старом выпуске, с какой стати вы хотите протестировать его против определенного очень старого libc?

0 голосов
/ 07 апреля 2011

Если вы хотите вручную скомпилировать другую версию glibc, то я предлагаю вам настроить (./configure скрипт запуска) с опцией --prefix, чтобы установить не в / lib, / usr / lib, а в / home / mehul /glibc2.5.58test / lib и /home/mehul/glibc2.5.58test/usr/lib

Но компиляция glibc не очень простая вещь, поэтому другой способ - получить glibc 2.5-58 в скомпилированном виде издругой Linux и вручную скопировать его в какой-либо подкаталог.Затем вы можете переопределить путь поиска в библиотеке gcc и перекомпилировать вашу библиотеку libc из подкаталога.

Или вы можете использовать LD_LIBRARY_PATH для переопределения пути поиска в библиотеке скомпилированного бинарного файла, чтобы использовать более старый glibc, например:

$ LD_LIBRARY_PATH=/home/mehul/glibc2.5.58test/lib /path/to/your/application
...