<Precedenti | Contenuti | Succ.>
2.2. Requisiti di sistema host
Il tuo sistema host dovrebbe avere il seguente software con le versioni minime indicate. Questo non dovrebbe essere un problema per la maggior parte delle moderne distribuzioni Linux. Si noti inoltre che molte distribuzioni inseriranno le intestazioni del software in pacchetti separati, spesso sotto forma di " -devel” o “ -dev”. Assicurati di installarli se la tua distribuzione li fornisce.
Le versioni precedenti dei pacchetti software elencati potrebbero funzionare, ma non sono state testate.
· XNUMX€ bash-3.2 (/bin/sh dovrebbe essere un collegamento simbolico o reale a bash)
· XNUMX€ Binutils-2.25 (Versioni superiori a 2.32 non sono consigliate in quanto non sono state testate)
· XNUMX€ Bisonte-2.7 (/usr/bin/yacc dovrebbe essere un collegamento a bison o un piccolo script che esegue bison)
· XNUMX€ Bzip2-1.0.4
· XNUMX€ Coreutils-6.9
· XNUMX€ Diffutils-2.8.1
· XNUMX€ Findutils-4.2.31
· XNUMX€ Gawk-4.0.1 (/usr/bin/awk dovrebbe essere un collegamento a gawk)
· XNUMX€ CCG-6.2 incluso il compilatore C++, g ++ (Versioni superiori a 9.2.0 non sono consigliate in quanto non sono state testate)
· XNUMX€ Glibc-2.11 (Versioni superiori a 2.30 non sono consigliate in quanto non sono state testate)
· XNUMX€ Grep-2.5.1a
· XNUMX€ Gzip-1.3.12
· XNUMX€ Kernel Linux-3.2
Il motivo per il requisito della versione del kernel è che specifichiamo quella versione durante la compilazione di glibc nel Capitolo 6 su raccomandazione degli sviluppatori. È anche richiesto da udev.
Se il kernel host è precedente alla 3.2, sarà necessario sostituire il kernel con una versione più aggiornata. Ci sono due modi per farlo. Innanzitutto, verifica se il tuo fornitore Linux fornisce un pacchetto del kernel 3.2 o successivo. In tal caso, potresti volerlo installare. Se il tuo fornitore non offre un pacchetto kernel accettabile, o preferisci non farlo
installalo, puoi compilare tu stesso un kernel. Le istruzioni per compilare il kernel e configurare il boot loader (supponendo che l'host utilizzi GRUB) si trovano nel Capitolo 8.
· XNUMX€ M4-1.4.10
· XNUMX€ Crea-4.0
· XNUMX€ Patch-2.5.4
· XNUMX€ Perl-5.8.8
· XNUMX€ Python-3.4
· XNUMX€ Sed-4.1.5
· XNUMX€ Tar-1.22
· XNUMX€ Texinfo-4.7
· XNUMX€ Xz-5.0.0
Consigli
Si noti che i collegamenti simbolici sopra menzionati sono necessari per creare un sistema LFS utilizzando le istruzioni contenute in questo libro. I collegamenti simbolici che puntano ad altri software (come dash, mawk, ecc.) possono funzionare, ma non sono testati o supportati dal team di sviluppo di LFS e possono richiedere deviazioni dalle istruzioni o patch aggiuntive per alcuni pacchetti.
Consigli
Si noti che i collegamenti simbolici sopra menzionati sono necessari per creare un sistema LFS utilizzando le istruzioni contenute in questo libro. I collegamenti simbolici che puntano ad altri software (come dash, mawk, ecc.) possono funzionare, ma non sono testati o supportati dal team di sviluppo di LFS e possono richiedere deviazioni dalle istruzioni o patch aggiuntive per alcuni pacchetti.
eco elif [
eco altro
eco
fi
eco elif [
eco altro
eco
fi
-n "Coreutils: "; chown --versione | testa -n1 | tagliare
-n "Coreutils: "; chown --versione | testa -n1 | tagliare
--versione
--versione
--versione
--versione
--versione
--versione
|
|
|
|
|
|
capo
testa testa
capo
testa testa
-n1
-n1
-n1
-n1
-n1
-n1
"/usr/bin/awk -> `readlink -f /usr/bin/awk`";
-x /usr/bin/awk]; poi
awk è `/usr/bin/awk --version | testa -n1`
"/usr/bin/awk -> `readlink -f /usr/bin/awk`";
-x /usr/bin/awk]; poi
awk è `/usr/bin/awk --version | testa -n1`
"awk non trovato"
"awk non trovato"
Per vedere se il tuo sistema host ha tutte le versioni appropriate e la capacità di compilare programmi, esegui quanto segue:
cat > version-check.sh << "EOF"
#! / Bin / bash
# Script semplice per elencare i numeri di versione degli strumenti di sviluppo critici export LC_ALL=C
bash --versione | testa -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -> $MYSH"
echo $MYSH | grep -q bash || echo "ERRORE: /bin/sh non punta a bash" unset MYSH
echo -n "Binutils: "; ld --versione | testa -n1 | cut -d" " -f3- bison --version | testa -n1
if [ -h /usr/bin/yacc ]; poi
cat > version-check.sh << "EOF"
#! / Bin / bash
# Script semplice per elencare i numeri di versione degli strumenti di sviluppo critici export LC_ALL=C
bash --versione | testa -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -> $MYSH"
echo $MYSH | grep -q bash || echo "ERRORE: /bin/sh non punta a bash" unset MYSH
echo -n "Binutils: "; ld --versione | testa -n1 | cut -d" " -f3- bison --version | testa -n1
if [ -h /usr/bin/yacc ]; poi
"/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
-x /usr/bin/yacc]; poi
yacc è `/usr/bin/yacc --version | testa -n1`
"/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
-x /usr/bin/yacc]; poi
yacc è `/usr/bin/yacc --version | testa -n1`
"yacc non trovato"
bzip2 --versione 2>&1 < /dev/null | testa -n1 | cut -d" " echo
diff
trova gawk
-f1,6-
-d")" -f2
"yacc non trovato"
bzip2 --versione 2>&1 < /dev/null | testa -n1 | cut -d" " echo
diff
trova gawk
if [ -h /usr/bin/awk ]; poi
if [ -h /usr/bin/awk ]; poi
eco elif [
eco altro
eco
fi
eco elif [
eco altro
eco
fi
gcc --versione | head -n1 g++ --version | testa -n1
ldd --versione | testa -n1 | cut -d" " -f2- # versione glibc grep --version | testa -n1
gzip --versione | head -n1 cat /proc/version
m4 --versione | head -n1 make --version | head -n1 patch --version | head -n1 echo Perl `perl -V:version` python3 --version
sed --version | head -n1 tar --version | testa -n1
makeinfo --version | head -n1 # texinfo versione xz --version | testa -n1
gcc --versione | head -n1 g++ --version | testa -n1
ldd --versione | testa -n1 | cut -d" " -f2- # versione glibc grep --version | testa -n1
gzip --versione | head -n1 cat /proc/version
m4 --versione | head -n1 make --version | head -n1 patch --version | head -n1 echo Perl `perl -V:version` python3 --version
sed --version | head -n1 tar --version | testa -n1
makeinfo --version | head -n1 # texinfo versione xz --version | testa -n1
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]
quindi echo "compilazione g++ OK";
else echo "compilazione g++ fallita"; fi rm -f dummy.c dummy
EOF
bash versione-check.sh
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]
quindi echo "compilazione g++ OK";
else echo "compilazione g++ fallita"; fi rm -f dummy.c dummy
EOF
bash versione-check.sh