Files
LFS_Book/chapter02/hostreqs.xml
Anton Maisak b9b63f14f4 SYNC
Revision: 11446
Author: bdubbs
Date: 12 августа 2018 г. 19:35:49
Message:
Add LANG to vim test instructions.
Ensure grep tests run to completion.
Run gcc tests in Chapter 6 as a non-privileged user.

Move shadow to before gcc so the gcc tests can
use su to run as a non-privileged user.

Add perl Configure options in Chapter 5 to ensure
no host system libraries are used.

Update minimum make version to 4.0 required by glibc-2.28.
Update bzip2 url to a new location.
Update to linux-4.17.14.

----
Modified : /trunk/BOOK/appendices/dependencies.xml
Modified : /trunk/BOOK/chapter01/changelog.xml
Modified : /trunk/BOOK/chapter02/hostreqs.xml
Modified : /trunk/BOOK/chapter03/packages.xml
Modified : /trunk/BOOK/chapter05/perl.xml
Modified : /trunk/BOOK/chapter06/chapter06.xml
Modified : /trunk/BOOK/chapter06/gcc.xml
Modified : /trunk/BOOK/chapter06/grep.xml
Modified : /trunk/BOOK/chapter06/vim.xml
Modified : /trunk/BOOK/general.ent
Modified : /trunk/BOOK/packages.ent
2018-08-13 21:03:39 +03:00

219 lines
9.3 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-hostreqs" xreflabel="Host System Requirements">
<?dbhtml filename="hostreqs.html"?>
<title>Требования к хост-системе</title>
<para>Ваша хост система должна иметь следующее программное обеспечение с
минимальными версиями, которые будут указаны. На современных дистрибутивах проблем не должно быть, однако,
необходимо знать, что некоторые дистрибутивы хранят заголовочные файлы в отдельных пакетах, как правило, в таком формате:
<quote>&lt;package-name&gt;-devel</quote> или
<quote>&lt;package-name&gt;-dev</quote>.
Убедитесь что они были установлены, в случае если ваш дистрибутив их предоставляет.</para>
<para>
Более ранние версии из списка программного обеспечения могут работать, но этот момент
не проверялся (тестирование не производилось).</para>
<itemizedlist spacing="compact">
<listitem>
<para><emphasis role="strong">Bash-3.2</emphasis> (/bin/sh
должен быть символической или жесткой ссылкой на bash)</para>
</listitem>
<listitem>
<para><emphasis role="strong">Binutils-2.25</emphasis> (Версия старше чем
&binutils-version; не рекомендуется, потому что тестирование таковой не проводилось.</para>
</listitem>
<listitem>
<para><emphasis role="strong">Bison-2.7</emphasis> (/usr/bin/yacc
должен быть ссылкой на bison или небольшим скриптом который выполняет bison)</para>
</listitem>
<listitem>
<para><emphasis role="strong">Bzip2-1.0.4</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Coreutils-6.9</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Diffutils-2.8.1</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Findutils-4.2.31</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Gawk-4.0.1</emphasis> (/usr/bin/awk
должен быть ссылкой на gawk)</para>
</listitem>
<listitem>
<para><emphasis role="strong">GCC-4.9</emphasis> включая компилятор Си++
, <command>g++</command> (Версия старше чем &gcc-version; не рекомендуется,
потому что тестирование таковой не проводилось.)</para>
</listitem>
<listitem>
<para><emphasis role="strong">Glibc-2.11</emphasis> (Версия старше чем
&glibc-version; не рекомендуется,
потому что тестирование таковой не проводилось.)</para>
</listitem>
<listitem>
<para><emphasis role="strong">Grep-2.5.1a</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Gzip-1.3.12</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Ядро Linux &min-kernel;</emphasis></para>
<para>Причина минимальной версии ядра - указание такой версии при сборке пакета <application>glibc</application> в главе&nbsp;6, которая является рекомендацией разработчиков. Она также необходима для пакета udev.</para>
<para>Если версия ядра хост системы более ранняя, чем &min-kernel; вам придется заменить его на более свежую. Существует как минимум два способа как это сделать. Сперва посмотрите, предоставляет ли дистрибутив хост системы ядро версии &min-kernel; или более позднюю. Если этот так - нужно его обновить. В ином случае, вы можете выполнить сборку
ядра самостоятельно. Инструкции для компиляции ядра и настройка загрузчика представлены в
главе <xref linkend="chapter-bootable"/> (При условии что в хост системе используется загрузчик GRUB).</para>
</listitem>
<listitem>
<para><emphasis role="strong">M4-1.4.10</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Make-4.0</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Patch-2.5.4</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Perl-5.8.8</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Sed-4.1.5</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Tar-1.22</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Texinfo-4.7</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Xz-5.0.0</emphasis></para>
</listitem>
</itemizedlist>
<important>
<para>Обратите внимание, что упомянутые выше символические ссылки необходимы для создания системы LFS используя инструкции, содержащиеся в этой книге. Символические ссылки которые
указывают на программы (такие как dash, mawk, и т.д.) могут работать, но они не тестировались и не поддерживаются командой разработчиков LFS и возможно потребуются отклонения от инструкций или применение дополнительных патчей для некоторых пакетов.</para>
</important>
<!-- Use an empty sect2 element to prevent a pdf warning. -->
<bridgehead renderas="sect2"
id="version-check"
xreflabel="Требования к хост-системе">
</bridgehead>
<!--<title> </title>-->
<para >Чтобы узнать, имеет ли ваша хост-система все соответствующие версии и
   возможность компиляции программ, выполните следующие действия:</para>
<!-- ANY additional lines in the script cause a pdf rendering problem-->
<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
# Simple script to list version numbers of critical development tools
export LC_ALL=C
bash --version | head -n1 | cut -d" " -f2-4
MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -&gt; $MYSH"
echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash"
unset MYSH
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -h /usr/bin/yacc ]; then
echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
elif [ -x /usr/bin/yacc ]; then
echo yacc is `/usr/bin/yacc --version | head -n1`
else
echo "yacc not found"
fi
bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -h /usr/bin/awk ]; then
echo "/usr/bin/awk -&gt; `readlink -f /usr/bin/awk`";
elif [ -x /usr/bin/awk ]; then
echo awk is `/usr/bin/awk --version | head -n1`
else
echo "awk not found"
fi
gcc --version | head -n1
g++ --version | head -n1
ldd --version | head -n1 | cut -d" " -f2- # glibc version
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
sed --version | head -n1
tar --version | head -n1
makeinfo --version | head -n1
xz --version | head -n1
<?hard-pagebreak?>
echo 'int main(){}' &gt; dummy.c &amp;&amp; g++ -o dummy dummy.c
if [ -x dummy ]
then echo "g++ compilation OK";
else echo "g++ compilation failed"; fi
rm -f dummy.c dummy</literal>
EOF
bash version-check.sh</userinput></screen>
<!--
<para>Also check for some library consistency:</para>
<screen role="nodump"><userinput>cat &gt; library-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
for lib in lib{gmp,mpfr,mpc}.la; do
echo $lib: $(if find /usr/lib* -name $lib|
grep -q $lib;then :;else echo not;fi) found
done
unset lib</literal>
EOF
bash library-check.sh</userinput></screen>
<para>The files identified by this script should be all present
or all absent, but not only one or two present.</para>
-->
</sect1>