Инструменты пользователя

Инструменты сайта


software:linux_server:lfs:lfs-12.1:partintro:generalinstructions

iii. Общие инструкции по компиляции

:&8: Внимание

В процессе разработки LFS инструкции в книге часто изменяются, чтобы адаптироваться к обновлению пакета или использовать преимущества новых функций из обновленных пакетов. Смешение инструкций разных версий книги LFS может привести к незначительным поломкам. Такого рода проблемы обычно являются результатом повторного использования некоторых скриптов, созданных для предыдущей версии LFS. Такое повторное использование настоятельно не рекомендуется. Если вы по какой-либо причине повторно используете скрипты из предыдущей версии LFS, вам нужно быть очень осторожным при обновлении скриптов, чтобы они соответствовали текущей версии книги LFS.

При сборке пакетов в инструкциях делается несколько допущений:

  • На некоторые пакеты необходимо наложить патчи перед компиляцией, метод используется тогда, когда исправление необходимо для решения проблем сборки. Патчи часто требуются как в этой, так и в следующих главах, но иногда, когда один и тот же пакет собирается более одного раза, патч требуется не сразу. Поэтому не беспокойтесь, если инструкции для скачанного патча отсутствуют. Предупреждающие сообщения о смещении (offset) или размытии (fuzz) также могут появляться при применении патча. Не обращайте внимания на эти предупреждения, патч все равно успешно применен.
  • Во время компиляции большинства пакетов на экране будут отображаться предупреждения. Это нормально, и их можно смело игнорировать. Предупреждения появляются, например, когда используется устаревший, недопустимый синтаксис C или C++. Стандарты C меняются довольно часто, и некоторые пакеты все еще используют более старый стандарт. Это не является серьезной проблемой, но вызывает появление предупреждений.
  • Проверьте в последний раз, что переменная среды LFS настроена правильно:
echo $LFS

Убедитесь, что в выводе указан путь к точке монтирования раздела LFS, то есть /mnt/lfs, как в примере из этой книги.

  • Наконец, необходимо подчеркнуть два важных момента:
:!: Важно

Инструкции по сборке предполагают, что все Требования к хост-системе, включая символические ссылки, установлены правильно:
  • bash это используемая оболочка.
  • sh это символическая ссылка на bash.
  • /usr/bin/awk это символическая ссылка на gawk.
  • /usr/bin/yacc это символическая ссылка на bison или небольшой скрипт, который выполняет bison
:!: Важно

Вот краткое описание процесса сборки:
  1. Поместите все исходники и патчи в каталог, который будет доступен из среды chroot, например, /mnt/lfs/sources/.
  2. Перейдите в каталог /mnt/lfs/sources/.
  3. Для каждого пакета:
    1. С помощью программы tar извлеките пакет для сборки. В Глава 5 и Глава 6 убедитесь, что при извлечении пакета вы залогинены под пользователем lfs.
    2. Не используйте никаких методов, кроме команды tar, для извлечения исходного кода. Примечательно, что использование команды cp -R для копирования дерева исходного кода в другое место может привести к уничтожению ссылок и меток времени в дереве исходного кода и привести к сбою сборки.
    3. Перейдите в каталог, созданный при извлечении пакета.
    4. Следуйте инструкциям по сборке пакета.
    5. Вернитесь в исходный каталог, когда сборка будет завершена.
    6. Удалите извлеченный каталог, если не указано иное.
Только авторизованные участники могут оставлять комментарии.
software/linux_server/lfs/lfs-12.1/partintro/generalinstructions.txt · Последнее изменение: 2025/04/05 10:24 — vladpolskiy