Boost offre un ensemble de bibliothèques sources libres, revues par les pairs et portables en C++. Il inclut des bibliothèques d'algèbre linéaire, de génération de nombres pseudo-aléatoires, de multithreading, de traitement d'images, d'expressions régulières et de tests d'unités.
Ce paquet est connu pour pouvoir être construit et fonctionner correctement avec une plateform 12.2.
Ce paquet s'extrait dans le répertoire boost-1.86.0
/.
Téléchargement (HTTP) : https://github.com/boostorg/boost/releases/download/boost-1.86.0/boost-1.86.0-b2-nodocs.tar.xz
Somme de contrôle MD5 du téléchargement : 7ad40a9d9d1db59ee2ed62e8fa7134ed
Taille du téléchargement : 45 Mo
Estimation de l'espace disque requis : 899 Mo (199 Mo installés)
Estimation du temps de construction : 1,8 SBU (avec parallélisme = 4, plus 0,1 SBU pour les tests)
ICU-75.1, NumPy-2.1.0 et Open MPI
Notes des auteurs : https://wiki.linuxfromscratch.org/blfs/wiki/boost
Tout d'abord, corrigez un problème avec Boost et NumPy-2.1.0 qui fait échouer la construction :
patch -Np1 -i ../boost-1.86.0-upstream_fixes-1.patch
Ensuite, corrigez un problème de construction dans la bibliothèque stacktrace. Ce problème est spécifique aux systèmes i686.
case $(uname -m) in i?86) sed -e "s/defined(__MINGW32__)/& || defined(__i386__)/" \ -i ./libs/stacktrace/src/exception_headers.h ;; esac
On peut construire ce paquet avec plusieurs taches en parallèle.
Dans les instructions ci-dessous, <N>
correspond au nombre de
taches. Installez Boost en
exécutant les commandes suivantes :
./bootstrap.sh --prefix=/usr --with-python=python3 &&
./b2 stage -j<N>
threading=multi link=shared
Pour lancer les tests de régression de Boost.Build, lancez pushd tools/build/test; python3 test_all.py ; popd.
Pour lancer tous les tests de régression de chaque bibliothèque,
tapez pushd status; ../b2;
popd. Quelques tests peuvent échouer. Ils prennent
beaucoup de temps (plus de 119 SBU avec -j4) et utilisent un
espace disque volumineux (46 Go). Vous devriez utiliser le
paramètre -jN
pour les
accélérer.
Boost installe plusieurs répertoires versionnés dans
/usr/lib/cmake. Si une nouvelle version de Boost est installée par-dessus une version
précédente, les anciens répertoires cmake doivent être
explicitement supprimés. Pour cela, exécutez en tant
qu'utilisateur root
:
rm -rf /usr/lib/cmake/[Bb]oost*
avant d'installer la nouvelle version.
Maintenant, en tant qu'utilisateur root
:
./b2 install threading=multi link=shared
threading=multi
: ce
paramètre assure que Boost soit
bien construit avec le support du multithreading.
link=shared
: Ce
paramètre fait que seules les bibliothèques partagées sont créées,
excepté pour libboost_exception et libboost_test_exec_monitor qui
sont créés statiquement. La plupart des gens n'auront pas besoin
des bibliothèques statiques et la plupart des programmes utilisant
Boost se servent uniquement des
en-têtes. Vous pouvez omettre ce paramètre si vous avez besoin des
bibliothèques statiques.
--with-python=python3
ce paramètre s'assure que Python 3 est utilisé si Python 2 est
installé.
-jN
: Ce paramètre peut être
utilisé dans la ligne de commande b2, pour lancer N processus en
parallèle.