Прочитав ответы на мой предыдущий вопрос , я пришел к выводу, что ответ на следующий вопрос - это то, что я действительно искал:
версии ядра требуют конкретной версии libc для правильной работы?
В основном моя проблема связана с созданием приложения на моей 12.04 Ubuntu и попыткой запустить его на 8.04. С тех пор я узнал от этого и других форумов stackexchange, что причиной этих проблем является обратная совместимость libc. Поэтому то, что я, возможно, наивно пытаюсь сделать, - это создать ту же версию libc, которая существует на моей цели, а затем ссылаться на нее на моем хосте, когда я создаю приложение. Затем в идеальном мире, когда я копирую это на хост, будучи привязанным к «правильному» libc, оно должно работать (по крайней мере, в моей голове). Я был совершенно не в состоянии найти способ установить более старую версию libc в моей системе, и мне было интересно, тесно ли связана каждая версия с версией ядра, отсюда и вышеупомянутый вопрос.
Требуется ли конкретной версии ядра для правильной работы определенная версия libc?
Да, если вы сами не собираете ядро из исходного кода с помощью своего предпочтительная версия libc. Ядра Ubuntu построены на выпуске LTS перед целевым выпуском, поэтому «новейшими» ядрами Ubuntu, совместимыми с 8.04 libc, были ядра для Ubuntu 9.10.
Они связаны друг с другом, в некотором роде.
Поэтому, если вы устанавливаете пакеты ядра и пакеты libc из репозиториев Ubuntu, а не собираете их самостоятельно, вы сталкиваетесь с вышеуказанной дилеммой.
Что касается libc, один из способов сделать то, что вы предлагаете, - это скомпилировать ядро 12.04 из источника 8.04 , таким образом связав его с libc 8.04. Затем вы используете это пользовательское ядро для загрузки 12.04, после чего вы компилируете версию libc 8.04, также из исходного кода. Вы устанавливаете это, и ваши приложения должны использовать ту же старую версию 8.04 libc.
Полагаю, вы также знаете, что любые другие библиотеки 12.04, с которыми связано ваше приложение, могут быть недоступны в 8.04, поэтому вам придется также компилировать их из исходного кода ...
Подводя итог, лучше просто скомпилировать на 8.04 .