Boost-1.73.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-9.1.

Informations sur le paquet

  • Téléchargement (HTTP) : https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_73_0.tar.bz2

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 9273c8c4576423562bbe84574b07b2bd

  • Taille du téléchargement : 104 Mo

  • Estimation de l'espace disque requis : 1.1 Go (175 Mo installés)

  • Estimation du temps de construction : 1.6 SBU (avec parallélisme = 4, plus 1.2 SBU pour les tests)

Téléchargements supplémentaires

Dépendances de Boost

Recommandées

Facultatives

ICU-67.1 et Open MPI

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

Installation de Boost

Tout d'abord appliquez un correctif qui permet de construire libreoffice avec GCC 10 et supérieur :

patch -Np1 -i ../boost-1.73.0-gcc_10-1.patch

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 lançant les commandes suivantes :

./bootstrap.sh --prefix=/usr &&
./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. Les 153 tests devraient tous réussir.

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.

Maintenant, en tant qu'utilisateur root :

./b2 install threading=multi link=shared                 &&
ln -svf detail/sha1.hpp /usr/include/boost/uuid/sha1.hpp

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.

ln -svf detail/sha1.hpp ... : Le fichier uuid/sha1.hpp était un en-tête normal, mais à partir de boost_1_66_0 cela a été changé pour charger l'en-tête detail/sha1.hpp similaire, avec un message disant qu'il est obsolète. Il est maintenant supprimé, mais tous les paquets qui l'utilisent n'ont pas été modifiés. Par exemple c'est le cas d'une des bibliothèques téléchargées via sa version git par libreoffice. Le lien symbolique permet à ce paquet et d'autres similaires d'être construits.

-jN : Ce paramètre peut être utilisé dans la ligne de commande b2, pour lancer N processus en parallèle.

--with-python=python3 : Ajoutez cette option à la commande bootstrap si vous souhaitez que Boost utilise Python3 à la place de Python2. L'utilisation de Python3 est connue pour faire échouer l'installation sur certains systèmes.

Contenu

Programmes installés: Aucun
Bibliothèques installées: libboost_atomic.so, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost_fiber.so, 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_nowide.so, libboost_numpy27.so, libboost_prg_exec_monitor.so, libboost_program_options.so, libboost_python27.so ou libboost_python3.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_wave.so et libboost_wserialization.so
Répertoire installé: /usr/include/boost

Last updated on 2020-05-16 18:23:41 +0000