Vertssystemet ditt bør ha følgende programvare med minimumsversjoner angitt. Dette burde ikke være et problem for de fleste moderne Linux-distribusjoner. Vær også oppmerksom på at mange distribusjoner vil plassere programvaredeklarasjoner i separate pakker, ofte i form av “<package-name>-devel” eller “<package-name>-dev”. Pass på å installere disse hvis distribusjonen din gir dem.
Tidligere versjoner av de oppførte programvarepakkene kan fungere, men har ikke blitt testet.
Bash-3.2 (/bin/sh bør være en symbolsk eller hard lenke til bash)
Binutils-2.13.1 (Versjoner større enn 2.39 anbefales ikke ettersom de ikke har blitt testet)
Bison-2.7 (/usr/bin/yacc bør være en lenke til bison eller et lite skript som kjører bison)
Coreutils-6.9
Diffutils-2.8.1
Findutils-4.2.31
Gawk-4.0.1 (/usr/bin/awk bør være en link til gawk)
GCC-4.8 inkludert C++ kompilatoren, g++ (Versjoner større enn 12.2.0 er ikke anbefalt da de ikke er testet). C og C++ standard biblioteker (med deklarasjoner) må også være tilstede slik at C++ kompilatoren kan bygge vertsbaserte programmer
Grep-2.5.1a
Gzip-1.3.12
Linux Kernel-3.2
Grunnen til kravet om kjerneversjon er at vi spesifiserer den versjonen når du bygger glibc i Kapittel 5 og Chapter 8, etter anbefaling fra utviklerne. Det kreves også av udev.
Hvis vertskjernen er tidligere enn 3.2 du må erstatte kjernen med en mer oppdatert versjon. Det er to måter du kan gjøre dette på. Først, se om din Linux leverandør tilbyr en 3.2 eller senere kjernepakke. I så fall kan det være lurt å installere den. Hvis din leverandøren ikke tilbyr en akseptabel kjernepakke, eller du foretrekker å la være å installer den, kan du kompilere en kjerne selv. Instruksjoner for å kompilere kjernen og konfigurere oppstartslasteren (forutsatt at verten bruker GRUB) er lokalisert i Kapittel 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
Merk at symbollenkene nevnt ovenfor er nødvendige for å bygge et LFS system ved å bruke instruksjonene i denne boken. Symlinker som peker på annen programvare (som dash, mawk osv.) kan fungere, men er ikke testet eller støttet av LFS-utviklingsteamet, og kan kreve enten avvik fra instruksjonene eller tilleggsoppdateringer til noen pakker.
For å se om vertssystemet ditt har alle de riktige versjonene, og muligheten til å kompilere programmer, kjør følgende:
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
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
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