Компиляция в Ubuntu 12.04 с использованием более старой версии glibc

Я учусь на курсе «Операционные системы», где нам нужно скомпилировать программу в Ubuntu 9.10. Эта программа не работает должным образом в более поздних выпусках Ubuntu (например, 12.04)

Мой вопрос: как я могу скомпилировать программу на C, используя ядро ​​9.10 в Ubuntu 12.04 (самый новый выпуск)

Я установил раздел Ubuntu 9.10 на свой компьютер, чтобы я мог использовать библиотеки оттуда. но, тем не менее, я хотел бы работать с моего раздела 12.04.

Может быть, это руководство могло бы помочь?

4
задан 3 February 2018 в 12:21

1 ответ

Лучше всего создать «chroot» для Ubuntu 9.10 и скомпилировать в этом chroot.

В моем ответе на есть некоторые подробности об этом. Построение нескольких пакетов для развертывания в разных версиях Ubuntu , но основная процедура такова:

  • . Используйте mk-sbuild --name=my-karmic-chroot karmic для создания новый chroot для Ubuntu 9.10 (кодовое название для 9.10 - "karmic")
  • Используйте schroot -c my-karmic-chroot для входа в новый chroot и выполните компиляцию

Если вы компилируете Ubuntu пакеты, инструмент sbuild может быть использован для автоматизации этого.

Обратите внимание, что здесь не используется ядро ​​ из 9.10, а только компоненты пользовательского пространства (включая библиотеки времени выполнения libc и C). Вы все еще будете использовать ядро ​​12.04. Однако, вам конкретно нужно ядро ​​9.10?

Если вам действительно нужно ядро ​​9.10, вы можете использовать virt-manager для настройки виртуальной машины 9.10 в вашей установке 12.04. Затем вы можете войти в систему, как будто это настоящая машина 9.10.

0
ответ дан 3 February 2018 в 12:21

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

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