Версии libc связаны с версиями ядра?

После прочтения ответов на мой предыдущий вопрос я пришел к выводу, что ответ на следующий вопрос - это то, что я действительно искал:

Требует ли конкретная версия ядра конкретная версия libc для правильной работы?

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

1
задан 13 April 2017 в 15:24

1 ответ

Они привязаны друг к другу в некотором смысле.

Ядро, в котором вы работаете, было скомпилировано с определенным libc. Укомплектованный вами libc был скомпилирован только для поддержки ядер выше определенной версии.

Итак, если вы устанавливаете пакеты ядра и пакеты libc из репозиториев Ubuntu, в отличие от их компиляции самостоятельно, вы придерживаетесь вышеуказанной дилеммы.

Что касается libc идет, один из способов сделать то, что вы предлагаете, - скомпилировать ядро ​​12.04 из исходного кода на 8.04, связывая его с 8.04 libc. Затем вы используете это настраиваемое ядро ​​для загрузки 12.04, после чего вы компилируете версию libc, которая находится на 8.04, также из источника. Вы устанавливаете это, и ваши приложения должны использовать один и тот же старый 8.04 libc.

Предполагаю, что вы также знаете, что любые другие библиотеки 12.04, с которыми связано ваше приложение, могут быть недоступны в 8.04, поэтому вам придется скомпилируйте их из источника ...

Подводя итог, лучше всего скомпилировать 8.04.

3
ответ дан 25 May 2018 в 08:44

Другие вопросы по тегам:

Похожие вопросы: