2.2. Host-Systemanforderungen
Ihr Hostsystem sollte über die folgende Software mit den angegebenen Mindestversionen verfügen. Dies sollte für die meisten modernen Linux-Distributionen kein Problem darstellen. Beachten Sie auch, dass viele Distributionen Software-Header in separate Pakete legen, oft in der Form „ -devel“ oder „ -dev“. Stellen Sie sicher, dass Sie diese installieren, wenn Ihre Distribution sie bereitstellt.
Frühere Versionen der aufgeführten Softwarepakete funktionieren möglicherweise, wurden jedoch nicht getestet.
• bash-3.2 (/bin/sh sollte ein symbolischer oder fester Link zum Bash sein)
• Binutils-2.25 (Versionen größer als 2.32 werden nicht empfohlen, da sie nicht getestet wurden)
• Bison-2.7 (/usr/bin/yacc sollte ein Link zu Bison oder einem kleinen Skript sein, das Bison ausführt)
• Bzip2-1.0.4
• Coreutils-6.9
• Diffutils-2.8.1
• Findutils-4.2.31
• Gawk-4.0.1 (/usr/bin/awk sollte ein Link zu gawk sein)
• GCC-6.2 einschließlich des C++-Compilers, g ++ (Versionen größer als 9.2.0 werden nicht empfohlen, da sie nicht getestet wurden)
• Glibc-2.11 (Versionen größer als 2.30 werden nicht empfohlen, da sie nicht getestet wurden)
• Grep-2.5.1a
• Gzip-1.3.12
• Linux-Kernel-3.2
Der Grund für die Kernel-Versionsanforderung besteht darin, dass wir diese Version auf Empfehlung der Entwickler beim Erstellen von glibc in Kapitel 6 angeben. Es wird auch von udev benötigt.
Wenn der Host-Kernel älter als 3.2 ist, müssen Sie den Kernel durch eine aktuellere Version ersetzen. Es gibt zwei Möglichkeiten, dies zu tun. Überprüfen Sie zunächst, ob Ihr Linux-Anbieter ein Kernelpaket 3.2 oder höher bereitstellt. Wenn ja, möchten Sie es vielleicht installieren. Wenn Ihr Anbieter kein akzeptables Kernel-Paket anbietet oder Sie dies lieber nicht möchten
Wenn Sie es installieren, können Sie selbst einen Kernel kompilieren. Anweisungen zum Kompilieren des Kernels und zum Konfigurieren des Bootloaders (vorausgesetzt, der Host verwendet GRUB) finden Sie in Kapitel 8.
• M4-1.4.10
• Make-4.0
• Patch-2.5.4
• Perl-5.8.8
• Python-3.4
• Se-4.1.5
• Teer-1.22
• Texinfo-4.7
• Xz-5.0.0
Wichtig
Beachten Sie, dass die oben genannten Symlinks erforderlich sind, um ein LFS-System gemäß den in diesem Buch enthaltenen Anweisungen zu erstellen. Symlinks, die auf andere Software verweisen (z. B. Dash, Mawk usw.), funktionieren möglicherweise, werden jedoch vom LFS-Entwicklungsteam nicht getestet oder unterstützt und erfordern möglicherweise entweder eine Abweichung von den Anweisungen oder zusätzliche Patches für einige Pakete.
Wichtig
Beachten Sie, dass die oben genannten Symlinks erforderlich sind, um ein LFS-System gemäß den in diesem Buch enthaltenen Anweisungen zu erstellen. Symlinks, die auf andere Software verweisen (z. B. Dash, Mawk usw.), funktionieren möglicherweise, werden jedoch vom LFS-Entwicklungsteam nicht getestet oder unterstützt und erfordern möglicherweise entweder eine Abweichung von den Anweisungen oder zusätzliche Patches für einige Pakete.
echo elif [
Echo sonst
Echo
fi
echo elif [
Echo sonst
Echo
fi
-n "Coreutils: "; chown --version | Kopf -n1 | schneiden
-n "Coreutils: "; chown --version | Kopf -n1 | schneiden
--Version
--Version
--Version
--Version
--Version
--Version
|
|
|
|
|
|
ganzer
Kopf Kopf
ganzer
Kopf Kopf
-n1
-n1
-n1
-n1
-n1
-n1
"/usr/bin/awk -> `readlink -f /usr/bin/awk`";
-x /usr/bin/awk ]; Dann
awk ist `/usr/bin/awk --version | Kopf -n1`
"/usr/bin/awk -> `readlink -f /usr/bin/awk`";
-x /usr/bin/awk ]; Dann
awk ist `/usr/bin/awk --version | Kopf -n1`
„awk nicht gefunden“
„awk nicht gefunden“
Führen Sie Folgendes aus, um festzustellen, ob Ihr Hostsystem über alle erforderlichen Versionen verfügt und Programme kompilieren kann:
cat > version-check.sh << "EOF"
#! / Bin / bash
# Einfaches Skript zum Auflisten der Versionsnummern wichtiger Entwicklungstools export LC_ALL=C
bash --version | Kopf -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo „/bin/sh -> $MYSH“
echo $MYSH | grep -q bash || echo „FEHLER: /bin/sh zeigt nicht auf Bash“ unset MYSH
echo -n "Binutils: "; ld --version | Kopf -n1 | cut -d" " -f3- bison --version | Kopf -n1
if [ -h /usr/bin/yacc ]; Dann
cat > version-check.sh << "EOF"
#! / Bin / bash
# Einfaches Skript zum Auflisten der Versionsnummern wichtiger Entwicklungstools export LC_ALL=C
bash --version | Kopf -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo „/bin/sh -> $MYSH“
echo $MYSH | grep -q bash || echo „FEHLER: /bin/sh zeigt nicht auf Bash“ unset MYSH
echo -n "Binutils: "; ld --version | Kopf -n1 | cut -d" " -f3- bison --version | Kopf -n1
if [ -h /usr/bin/yacc ]; Dann
"/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
-x /usr/bin/yacc ]; Dann
yacc ist „/usr/bin/yacc --version |“. Kopf -n1`
"/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
-x /usr/bin/yacc ]; Dann
yacc ist „/usr/bin/yacc --version |“. Kopf -n1`
„yacc nicht gefunden“
bzip2 --version 2>&1 < /dev/null | Kopf -n1 | Cut -d" " Echo
diff
finde gawk
-f1,6-
-d)" -f2
„yacc nicht gefunden“
bzip2 --version 2>&1 < /dev/null | Kopf -n1 | Cut -d" " Echo
diff
finde gawk
if [ -h /usr/bin/awk ]; Dann
if [ -h /usr/bin/awk ]; Dann
echo elif [
Echo sonst
Echo
fi
echo elif [
Echo sonst
Echo
fi
gcc --version | head -n1 g++ --version | Kopf -n1
ldd --version | Kopf -n1 | cut -d" " -f2- # glibc version grep --version | Kopf -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 | Kopf -n1
makeinfo --version | head -n1 # texinfo version xz --version | Kopf -n1
gcc --version | head -n1 g++ --version | Kopf -n1
ldd --version | Kopf -n1 | cut -d" " -f2- # glibc version grep --version | Kopf -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 | Kopf -n1
makeinfo --version | head -n1 # texinfo version xz --version | Kopf -n1
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]
then echo „g++-Kompilierung OK“;
else echo „g++-Kompilierung fehlgeschlagen“; fi rm -f dummy.c dummy
EOF
bash version-check.sh
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]
then echo „g++-Kompilierung OK“;
else echo „g++-Kompilierung fehlgeschlagen“; fi rm -f dummy.c dummy
EOF
bash version-check.sh