Boost-1.84.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.

This package is known to build and work properly using an LFS 12.1 platform.

Informations sur le paquet

Dépendances de Boost

Recommandées

Facultatives

ICU-74.2 et Open MPI

Notes des auteurs : https://wiki.linuxfromscratch.org/blfs/wiki/boost

Installation de Boost

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. Avec python-3.11.x les 169 tests devraient passer. Avec Python-3.12.2, 7 tests échouent pour des raisons indéterminées.

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.

[Note]

Note

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

Explication des commandes

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.

Contenu

Programmes installés: Aucun
Bibliothèques installées: libboost_atomic.so, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_contract.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost_fiber.so, libboost_filesystem.so, libboost_graph.so, libboost_iostreams.so, libboost_json.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_nowide.so, libboost_numpy312.so, libboost_prg_exec_monitor.so, libboost_program_options.so, libboost_python312.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so, libboost_stacktrace_noop.so, libboost_system.so, libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.so, libboost_type_erasure.so, libboost_unit_test_framework.so, libboost_url.so, libboost_wave.so et libboost_wserialization.so
Répertoire installé: /usr/include/boost