55 votes

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

J'ai des difficultés à installer la bibliothèque Boost complètement, elle échoue ou saute plusieurs choses qui semblent être essentielles pour que je puisse continuer à compiler un programme avec elle. Voici ce que j'obtiens lorsque 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 sans succès.

70voto

Eric Carvalho Points 51571

Paquet libboost-all-dev installe toutes les bibliothèques de développement. Extrait de la description du paquet :

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

Installez-le avec :

sudo apt-get install libboost-all-dev

S'il ne parvient pas à localiser le paquet, assurez-vous que l'option dépôt d'univers est activé.

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

37voto

Cristy Points 101

Ce n'est pas spécifique à Boost, mais pour obtenir les fichiers d'en-tête (ex : bzlib.h) pour une bibliothèque, vous devez installer le fichier dev des paquets pour cela :

sudo apt-get install libbz2-dev

En général, 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 qu'il existe un méta-paquet pour les bibliothèques Boost, mais je ne me souviens pas de son nom.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X