2.2. Требования к хост-системе

Ваша хост система должна иметь следующее программное обеспечение с минимальными версиями, которые будут указаны. На современных дистрибутивах проблем не должно быть, однако, необходимо знать, что некоторые дистрибутивы хранят заголовочные файлы в отдельных пакетах, как правило, в таком формате: «<package-name>-devel» или «<package-name>-dev». Убедитесь что они были установлены, в случае если ваш дистрибутив их предоставляет.

Более ранние версии из списка программного обеспечения могут работать, но этот момент не проверялся (тестирование не производилось).

[Важно]

Важно

Обратите внимание, что упомянутые выше символические ссылки необходимы для создания системы LFS используя инструкции, содержащиеся в этой книге. Символические ссылки которые указывают на программы (такие как dash, mawk, и т.д.) могут работать, но они не тестировались и не поддерживаются командой разработчиков LFS и возможно потребуются отклонения от инструкций или применение дополнительных патчей для некоторых пакетов.

Чтобы узнать, имеет ли ваша хост-система все соответствующие версии и    возможность компиляции программ, выполните следующие действия:

                cat > version-check.sh << "EOF"
                        #!/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
                                
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
EOF

bash version-check.sh