mirror of
https://github.com/avmaisak/LFS_Book.git
synced 2026-01-14 02:00:45 +00:00
Author: renodr Date: 3 августа 2019 г. 3:57:21 Message: Minor typo fix ---- Modified : /trunk/BOOK/chapter02/hostreqs.xml
266 lines
9.5 KiB
XML
266 lines
9.5 KiB
XML
<?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><package-name>-devel</quote> или
|
||
<quote><package-name>-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>
|
||
|
||
<!-- glibc-2.30 requires gcc-6.2 or later -->
|
||
<listitem>
|
||
<para>
|
||
<emphasis role="strong">GCC-6.2</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> в главе 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">Python-3.4</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 > version-check.sh << "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 -> $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>&1 < /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 -> `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`
|
||
python3 --version
|
||
sed --version | head -n1
|
||
tar --version | head -n1
|
||
makeinfo --version | head -n1 # texinfo version
|
||
xz --version | head -n1
|
||
<?hard-pagebreak?>
|
||
echo 'int main(){}' > dummy.c && 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 > library-check.sh << "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>
|