iv. Prérequis du système hôte

Vous devriez pouvoir construire un système CLFS à partir de presque tout système d'exploitation de type Unix. Votre système hôte devrait avoir les logiciels suivants avec la version minimum indiquée. Remarquez aussi que beaucoup de distributions mettront les en-têtes des logiciels dans des paquets séparés, ayant souvent la forme « [nom-du-paquet]-devel » ou « [nom-du-paquet]-dev ». Assurez-vous de les installer si votre distribution les fournit.

Pour voir si votre système hôte fournit des versions appropriées, créez et lancez le script suivant. Lisez attentivement la sortie pour voir les erreurs et vous assurer d'installer tous les paquets indiqués comme non trouvés :

cat > version-check.sh << "EOF"
#!/bin/bash

# Simple script to list version numbers of critical development tools

bash --version | head -n1 | cut -d" " -f2-4
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
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
gcc --version | head -n1
g++ --version | head -n1
ldd $(which ${SHELL}) | grep libc.so | cut -d ' ' -f 3 | ${SHELL} | head -n 1 | cut -d ' ' -f 1-7
grep --version | head -n1
gzip --version | head -n1
make --version | head -n1
tic -V
patch --version | head -n1
sed --version | head -n1
tar --version | head -n1
makeinfo --version | head -n1
xz --version | head -n1
echo 'int main(){}' | gcc -v -o /dev/null -x c - > dummy.log 2>&1
if ! grep -q ' error' dummy.log; then
  echo "Compilation successful" && rm dummy.log
else
  echo 1>&2  "Compilation FAILED - more development packages may need to be \
installed. If you like, you can also view dummy.log for more details."
fi
EOF

bash version-check.sh 2>errors.log &&
[ -s errors.log ] && echo -e "\nThe following packages could not be found:\n$(cat errors.log)"