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.

Ferdinand
la source

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.

Eric Carvalho
la source
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.

netcoder
la source