Comment installer toutes les bibliothèques de développement boost?


52

Je n'arrive pas à installer boost library complètement. Il échoue / saute plusieurs choses qui me semblent essentielles pour continuer à compiler un programme avec. Voici ce que je reçois quand j'installe boost,

gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: No such file or directory
compilation terminated.

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC  -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_DYN_LINK=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG  -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"

...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>libboost_iostreams.so.1.50.0 for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>bzip2.o...
...skipped <p/usr/local/lib>libboost_iostreams.so.1.50.0 for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>libboost_iostreams.so.1.50.0...
...skipped <p/usr/local/lib>libboost_iostreams.so for lack of <p/usr/local/lib>libboost_iostreams.so.1.50.0...
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: No such file or directory
compilation terminated.

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread  -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG  -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"

...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a(clean) for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>bzip2.o...
...skipped <p/usr/local/lib>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a...
...failed updating 2 targets...
...skipped 6 targets...

J'ai essayé de réinstaller zlib et d'autres outils d'archivage comme bzip2 mais pas de chance.

Réponses:


67

Le paquet libboost-all-devinstalle toutes les bibliothèques de développement. Extrait de la description du colis:

Ce métapaquet fournit l'environnement de développement Boost complet, y compris toutes les bibliothèques empaquetées séparément.

Installez-le avec:

sudo apt-get install libboost-all-dev

S'il ne parvient pas à localiser le package, assurez-vous que le référentiel d'univers est activé.

Les en-têtes sont situés dans /usr/include/boostet les bibliothèques dans /usr/lib/x86_64-linux-gnuou /usr/lib/i386-linux-gnu.


Ah ça y est, je ne me souvenais plus du nom de ce paquet. :)
netcoder

vraiment? sudo apt-get install libboost-all-dev Lecture des listes de paquets ... Terminé Création d'une arborescence de dépendances Lecture des informations d'état ... Terminé E: impossible de localiser le paquet libboost-all-dev
CashCow

En fait, je l'ai posée comme ma propre question et après avoir activé l'univers et effectué la mise à jour d'apt-get, elle est réapparue. Peut-être aimeriez-vous les ajouter à votre réponse? (Pas évident pour tout le monde ... Et rien de mal à énoncer des choses qui pourraient être évidentes pour beaucoup si c'est l'une des étapes)
CashCow

où sont situés ces fichiers
prasad

36

Pas spécifique à Boost, mais pour obtenir les fichiers d'en-tête (par exemple: bzlib.h) d'une bibliothèque, vous devez installer les devpackages correspondants:

sudo apt-get install libbz2-dev

Généralement, pour trouver dans quel (s) paquet (s) un fichier est contenu, utilisez apt-file:

sudo apt-get install apt-file
apt-file update
apt-file search bzlib.h

Je pense cependant qu’il existe un méta-paquet pour les bibliothèques boost, bien que je ne me souvienne pas de son nom.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.