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.
Bash-2.05a
Binutils-2.12 (Les versions supérieures à 2.28 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 à 7.1.0 ne sont pas recommandées car elles n'ont pas été testées)
Glibc-2.2.5 (Les versions supérieures à 2.25 ne sont pas recommandées car elles n'ont pas été testées)
Grep-2.5
Gzip-1.2.4
Make-3.80
Ncurses-5.3
Patch-2.5.4
Sed-3.0.2
Tar-1.22
Texinfo-4.7
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
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)"