Boost-1.60.0

Introduction à Boost

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.

Informations sur le paquet

  • Téléchargement (HTTP) : http://downloads.sourceforge.net/boost/boost_1_60_0.tar.bz2

  • Téléchargement (FTP) :

  • 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)

Dépendances de Boost

Recommandées

Facultatives

ICU-56.1, Python-2.7.11 ou Python-3.5.1 et Open MPI

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/boost

Installation de 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

Explication des commandes

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.

Contenu

Programmes installés: Aucun
Bibliothèques installées: libboost_atomic.so, libboost_chrono.a, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost_filesystem.so, libboost_graph.so, libboost_iostreams.so, libboost_locale.so, libboost_log_setup.so, libboost_log.so, libboost_math_c99.so, libboost_math_c99f.so, libboost_math_c99l.so, libboost_math_tr1.so, libboost_math_tr1f.so, libboost_math_tr1l.so, libboost_prg_exec_monitor.so, libboost_program_options.so, libboost_python.so, libboost_python3.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_signals.so, libboost_system.a, libboost_system.so, libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.a, libboost_timer.so, libboost_type_erasure.so, libboost_unit_test_framework.so, libboost_wave.so et libboost_wserialization.so
Répertoire installé: /usr/include/boost

Last updated on 2016-02-24 09:06:22 +0100