summaryrefslogtreecommitdiff
path: root/lfs-12.1-sysv/partintro/generalinstructions.html
diff options
context:
space:
mode:
Diffstat (limited to 'lfs-12.1-sysv/partintro/generalinstructions.html')
-rw-r--r--lfs-12.1-sysv/partintro/generalinstructions.html282
1 files changed, 282 insertions, 0 deletions
diff --git a/lfs-12.1-sysv/partintro/generalinstructions.html b/lfs-12.1-sysv/partintro/generalinstructions.html
new file mode 100644
index 0000000..f43b6ea
--- /dev/null
+++ b/lfs-12.1-sysv/partintro/generalinstructions.html
@@ -0,0 +1,282 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
+ <title>
+ Общие инструкции по компиляции
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
+ "text/css" media="print" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ </head>
+ <body class="lfs" id="lfs-12.1">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.1
+ </h4>
+ <h3>
+ Важный предварительный материал
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="toolchaintechnotes.html" title=
+ "Технические примечания по сборочным инструментам">Пред.</a>
+ <p>
+ Технические примечания по сборочным инструментам
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="../chapter05/chapter05.html" title=
+ "Сборка кросс-тулчейна">След.</a>
+ <p>
+ Сборка кросс-тулчейна
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="partintro.html" title=
+ "Важный предварительный материал">Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.1">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-generalinstructions" name=
+ "ch-tools-generalinstructions"></a>iii. Общие инструкции по компиляции
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <div class="admon caution">
+ <img alt="[Внимание]" src="../images/caution.png" />
+ <h3>
+ Внимание
+ </h3>
+ <p>
+ В процессе разработки LFS инструкции в книге часто изменяются,
+ чтобы адаптироваться к обновлению пакета или использовать
+ преимущества новых функций из обновленных пакетов. Смешение
+ инструкций разных версий книги LFS может привести к незначительным
+ поломкам. Такого рода проблемы обычно являются результатом
+ повторного использования некоторых скриптов, созданных для
+ предыдущей версии LFS. Такое повторное использование настоятельно
+ не рекомендуется. Если вы по какой-либо причине повторно
+ используете скрипты из предыдущей версии LFS, вам нужно быть очень
+ осторожным при обновлении скриптов, чтобы они соответствовали
+ текущей версии книги LFS.
+ </p>
+ </div>
+ <p>
+ При сборке пакетов в инструкциях делается несколько допущений:
+ </p>
+ <div class="itemizedlist">
+ <ul>
+ <li class="listitem">
+ <p>
+ На некоторые пакеты необходимо наложить патчи перед
+ компиляцией, метод используется тогда, когда исправление
+ необходимо для решения проблем сборки. Патчи часто требуются
+ как в этой, так и в следующих главах, но иногда, когда один и
+ тот же пакет собирается более одного раза, патч требуется не
+ сразу. Поэтому не беспокойтесь, если инструкции для скачанного
+ патча отсутствуют. Предупреждающие сообщения о <span class=
+ "emphasis"><em>смещении (offset)</em></span> или <span class=
+ "emphasis"><em>размытии (fuzz)</em></span> также могут
+ появляться при применении патча. Не обращайте внимания на эти
+ предупреждения, патч все равно успешно применен.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Во время компиляции большинства пакетов на экране будут
+ отображаться предупреждения. Это нормально, и их можно смело
+ игнорировать. Предупреждения появляются, например, когда
+ используется устаревший, недопустимый синтаксис C или C++.
+ Стандарты C меняются довольно часто, и некоторые пакеты все еще
+ используют более старый стандарт. Это не является серьезной
+ проблемой, но вызывает появление предупреждений.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Проверьте в последний раз, что переменная среды <code class=
+ "envar">LFS</code> настроена правильно:
+ </p>
+ <pre class="userinput"><kbd class="command">echo $LFS</kbd></pre>
+ <p>
+ Убедитесь, что в выводе указан путь к точке монтирования
+ раздела LFS, то есть <code class="filename">/mnt/lfs</code>,
+ как в примере из этой книги.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Наконец, необходимо подчеркнуть два важных момента:
+ </p>
+ <div class="admon important">
+ <img alt="[Важно]" src="../images/important.png" />
+ <h3>
+ Важно
+ </h3>
+ <p>
+ Инструкции по сборке предполагают, что все <a class="xref"
+ href="../chapter02/hostreqs.html" title=
+ "2.2. Требования к хост-системе">Требования к
+ хост-системе</a>, включая символические ссылки, установлены
+ правильно:
+ </p>
+ <div class="itemizedlist">
+ <ul>
+ <li class="listitem">
+ <p>
+ <span class="command"><strong>bash</strong></span> это
+ используемая оболочка.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ <span class="command"><strong>sh</strong></span> это
+ символическая ссылка на <span class=
+ "command"><strong>bash</strong></span>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ <span class=
+ "command"><strong>/usr/bin/awk</strong></span> это
+ символическая ссылка на <span class=
+ "command"><strong>gawk</strong></span>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ <span class=
+ "command"><strong>/usr/bin/yacc</strong></span> это
+ символическая ссылка на <span class=
+ "command"><strong>bison</strong></span> или небольшой
+ скрипт, который выполняет bison
+ </p>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <div class="admon important">
+ <img alt="[Важно]" src="../images/important.png" />
+ <h3>
+ Важно
+ </h3>
+ <p>
+ Вот краткое описание процесса сборки:
+ </p>
+ <div class="orderedlist">
+ <ol class="compact">
+ <li class="listitem">
+ <p>
+ Поместите все исходники и патчи в каталог, который
+ будет доступен из среды chroot, например, <code class=
+ "filename">/mnt/lfs/sources/</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Перейдите в каталог <code class=
+ "filename">/mnt/lfs/sources/</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ <a id="buildinstr" name="buildinstr"></a>Для каждого
+ пакета:
+ </p>
+ <div class="orderedlist">
+ <ol class="compact">
+ <li class="listitem">
+ <p>
+ С помощью программы <span class=
+ "command"><strong>tar</strong></span> извлеките
+ пакет для сборки. В <a class="xref" href=
+ "../chapter05/chapter05.html" title=
+ "Глава 5. Сборка кросс-тулчейна">Глава&nbsp;5</a>
+ и <a class="xref" href=
+ "../chapter06/chapter06.html" title=
+ "Глава 6. Кросс-Компиляция временных инструментов">
+ Глава&nbsp;6</a> убедитесь, что при извлечении
+ пакета вы залогинены под пользователем lfs.
+ </p>
+ <p>
+ Не используйте никаких методов, кроме команды
+ <span class=
+ "command"><strong>tar</strong></span>, для
+ извлечения исходного кода. Примечательно, что
+ использование команды <span class=
+ "command"><strong>cp -R</strong></span> для
+ копирования дерева исходного кода в другое место
+ может привести к уничтожению ссылок и меток
+ времени в дереве исходного кода и привести к сбою
+ сборки.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Перейдите в каталог, созданный при извлечении
+ пакета.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Следуйте инструкциям по сборке пакета.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Вернитесь в исходный каталог, когда сборка будет
+ завершена.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Удалите извлеченный каталог, если не указано
+ иное.
+ </p>
+ </li>
+ </ol>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="toolchaintechnotes.html" title=
+ "Технические примечания по сборочным инструментам">Пред.</a>
+ <p>
+ Технические примечания по сборочным инструментам
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="../chapter05/chapter05.html" title=
+ "Сборка кросс-тулчейна">След.</a>
+ <p>
+ Сборка кросс-тулчейна
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="partintro.html" title=
+ "Важный предварительный материал">Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.1">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>