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 se construire correctement sur une plateforme LFS-7.9.
Téléchargement (HTTP) : http://downloads.sourceforge.net/boost/boost_1_60_0.tar.bz2
Somme de contrôle MD5 du téléchargement : 65a840e1a0b13a558ff19eeb2c4f0cbe
Taille du téléchargement : 74 Mo
Estimation de l'espace disque requis : 899 Mo (avec les tests de régression Boost.Build)
Estimation du temps de construction : 5.5 SBU (avec les tests de régression Boost.Build)
ICU-56.1, Python-2.7.11 ou Python-3.5.1 et Open MPI
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/boost
Tout d'abord, corrigez un bogue avec le chemin des en-têtes lorsque Python3 est utilisé :
sed -e '/using python/ s@;@: /usr/include/python${PYTHON_VERSION/3*/${PYTHON_VERSION}m} ;@' \ -i bootstrap.sh
Installez Boost en lançant les commandes suivantes :
sed -e '1 i#ifndef Q_MOC_RUN' \ -e '$ a#endif' \ -i boost/type_traits/detail/has_binary_operator.hpp && ./bootstrap.sh --prefix=/usr && ./b2 stage threading=multi link=shared
Pour lancer les tests de regression de Boost.Build (Python-2.7.11 requis), tapez pushd tools/build/test; python test_all.py; popd. Un test sur 130 échoue.
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 120/50 SBU sur un/quatre cœurs) et
utilisent un espace disque volumineux (plus de 40Go). Vous pouvez
utiliser le paramètre -jN
pour les accélérer.
Maintenant, en tant qu'utilisateur root
:
./b2 install threading=multi link=shared
sed ... has_binary_operator.hpp : Cette commande corrige un entête pour contourner un problème avec la commande moc de QT. C'est nécessaire pour construire quelques paquets de KDE.
threading=multi
: ce
paramètre fait que Boost est
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. En effet 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.
-jN
: Ce paramètre peut être
utilisé dans la ligne de commande b2, pour lancez N processus en
parallèle.
--with-python=python3
: Ajoutez
cette option si vous souhaitez que Boost utilise Python à la place
de Python.
Last updated on 2016-02-24 09:06:22 +0100