Votre système hôte doit contenir les logiciels suivants dans leur version minimum indiquée. Cela ne devrait pas poser de problème sur la plupart des distributions Linux modernes. Notez également que certaines distributions placeront les en-têtes des logiciels dans des paquets distincts, ayant souvent la forme suivante :« <nom-du-paquet>-devel » ou « <nom-du-paquet>-dev ». Assurez-vous que ces derniers sont installés si votre distribution les fournit.
Il se peut que les versions antérieures des paquets logiciels listés fonctionnent, mais elles n'ont pas été testées.
Bash-3.2 (/bin/sh devrait être un lien symbolique ou matériel vers bash)
Binutils-2.13.1 (les versions ultérieures à 2.39 ne sont pas recommandées, car elles n'ont pas été testées)
Bison-2.7 (/usr/bin/yacc should be a link to bison or a small script that executes bison)
Coreutils-6.9
Diffutils-2.8.1
Findutils-4.2.31
Gawk-4.0.1 (/usr/bin/awk devrait être un lien vers gawk)
GCC-4.8, y compris le compilateur C++ g++ (les versions ultérieures à 12.2.0 ne sont pas recommandées, car elles n'ont pas été testées). Les bibliothèques standards C et C++ (avec les en-têtes) doivent également être présentes pour que le compilateur C++ puisse construire les programmes.
Grep-2.5.1a
Gzip-1.3.12
Noyau Linux-3.2
Cette version du noyau est requise, car nous spécifions cette version-là lors de la construction de glibc aux Chapitre 5 et Chapitre 8, suivant ainsi une recommandation des développeurs. Elle est aussi exigée par Udev.
If the host kernel is earlier than 3.2 you will need to replace the kernel with a more up-to-date version. There are two ways you can go about this. First, see if your Linux vendor provides a 3.2 or later kernel package. If so, you may wish to install it. If your vendor doesn't offer an acceptable kernel package, or you would prefer not to install it, you can compile a kernel yourself. Instructions for compiling the kernel and configuring the boot loader (assuming the host uses GRUB) are located in Chapitre 10.
M4-1.4.10
Make-4.0
Patch-2.5.4
Perl-5.8.8
Python-3.4
Sed-4.1.5
Tar-1.22
Texinfo-4.7
Xz-5.0.0
Remarquez que les liens symboliques mentionnés ci-dessus sont nécessaires pour construire un système LFS en utilisant les instructions contenues dans ce livre. Les liens symboliques qui pointent vers d'autres logiciels (comme dash, mawk, etc) peuvent fonctionner, mais ils n'ont pas été testés, ou ne sont pas pris en charge par l'équipe de développement LFS. Iil est possible que ces liens demandent soit des déviations par rapport aux instructions, soit des correctifs supplémentaires de certains paquets.
To see whether your host system has all the appropriate versions, and the ability to compile programs, run the following commands:
cat > version-check.sh << "EOF"
#!/bin/bash
# Script simple pour afficher les numéros de version des outils de développement critiques
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 "ERREUR: /bin/sh ne pointe pas vers 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 introuvable"
fi
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 introuvable"
fi
gcc --version | head -n1
g++ --version | head -n1
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 # version de texinfo
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 échouée"; fi
rm -f dummy.c dummy
EOF
bash version-check.sh