4.5. À propos des SBU

Beaucoup de personnes souhaitent savoir combien de temps la compilation et l'installation de chaque paquet va prendre. Mais Linux from Scratch est construit sur tant de systèmes différents qu'il est impossible de donner des temps précis. Le plus gros paquet (Glibc) prendra approximativement vingt minutes sur les systèmes les plus rapides mais pourrait prendre environ trois jours sur les moins rapides ! Au lieu de donner les temps constatés, l'unité de construction standard (Standard Build Unit) est utilisée.

La mesure SBU fonctionne ainsi. Le premier paquet que vous compilez dans ce livre est Binutils lors du Chapitre 5. Le temps que prend la compilation de ce paquet est ce que nous appelons « SBU ». Tous les autres temps de compilation sont exprimés par rapport à celui-ci

Par exemple, considérez un paquet spécifique dont le temps de compilation correspond à 4,5 SBU. Ceci signifie que s'il vous a fallu 10 minutes pour compiler et installer la première passe de Binutils, alors vous savez que cela prendra 45 minutes pour construire ce paquet. Heureusement, la plupart des temps de construction sont bien plus courts que celui de Binutils.

En général, les SBU ne sont pas vraiment précis car ils dépendent de trop de facteurs, dont la version de GCC sur votre machine hôte. Ils sont fournis ici pour donner une estimation du temps nécessaire pour installer un paquet mais ces nombres peuvent varier de plusieurs dizaines de minutes dans certains cas.

Si vous souhaitez voir des chronométrages réels pour des machines spécifiques, nous recommandons la page d'accueil de http://www.linuxfromscratch.org/~sbu/.

[Note]

Note

Pour beaucoup de systèmes modernes avec plusieurs processeurs (ou coeurs), le temps de compilation d'un paquet peut être réduit en effectuant un "make parallèle", soit en réglant une variable d'environnement, soit en disant au programme make combien de processeurs sont disponibles. Par exemple, un bicoeur peut supporter deux processus simultanés avec :

export MAKEFLAGS='-j 2'

ou simplement en construisant avec :

make -j2

Si vous utilisez plusieurs processeurs de cette façon, les unités de SBU du livre vont varier encore plus que la normale. L'analyse de la sortie du processus de construction sera aussi plus difficile car les lignes des différents processus seront mélangées. Si vous rencontrez un problème à une étape de la construction, revenez à une construction avec un seul processeur pour analyser correctement les messages d'erreur.