software:linux_server:lfs:lfs-12.1:partintro:generalinstructions
iii. Общие инструкции по компиляции

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