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 « [package-name]-devel » ou « [package-name]-dev ». Assurez-vous de les installer si votre distribution les fournit.
Bash-2.05a
Binutils-2.12 (Les versions supérieures à 2.24 ne sont pas recommandées car elles n'ont pas été testées)
Bison-1.875
Bzip2-1.0.2
Coreutils-5.0
Diffutils-2.8
Findutils-4.1.20
Gawk-3.1.5
GCC-4.1.2 et le compilateur C++, g++ (les versions supérieures à 4.8.2 ne sont pas recommandées car elles n'ont pas été testées)
Glibc-2.2.5 (Les versions supérieures à 2.18 ne sont pas recommandées car elles n'ont pas été testées)
Grep-2.5
Gzip-1.2.4
Linux 2.6.32 (construit avec GCC 4.1.2 ou supérieur
Make-3.80
Ncurses-5.3
Patch-2.5.4
Sed-3.0.2
Tar-1.22
Texinfo-4.4
XZ-Utils-4.999.8beta
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
uname -s -r
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 'main(){}' | gcc -v -o /dev/null -x c - > dummy.log 2>&1
if ! grep -q ' error' dummy.log; then
echo "Compilation réussie" && rm dummy.log
else
echo 1>&2 "Compilation ÉCHOUÉE - installez peut-être plus de paquets de développement \
Si vous voulez vous pouvez lire le journal dummy pour plus de détails."
fi
EOF
bash version-check.sh 2>errors.log &&
[ -s errors.log ] && echo -e "\nLes paquets suivants sont introuvables :\n$(cat errors.log)"