Como instalar todas as bibliotecas de desenvolvimento boost?

52

Estou tendo problemas para instalar a biblioteca de impulso completamente, ela falha / ignora várias coisas que parecem ser essenciais para eu continuar a compilar um programa com ela. Aqui está o que recebo quando instalo o 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...

Eu tentei reinstalar o zlib e outras ferramentas de arquivamento como o bzip2, mas sem sorte.

Ferdinand
fonte

Respostas:

67

O pacote libboost-all-devinstala todas as bibliotecas de desenvolvimento. Trecho da descrição do pacote:

Esse metapacote fornece o ambiente de desenvolvimento completo do Boost, incluindo todas as bibliotecas empacotadas separadamente.

Instale-o com:

sudo apt-get install libboost-all-dev

Se não conseguir localizar o pacote, verifique se o repositório do universo está ativado.

Os cabeçalhos estão localizados em /usr/include/booste as bibliotecas em /usr/lib/x86_64-linux-gnuou /usr/lib/i386-linux-gnu.

Eric Carvalho
fonte
Ah é isso, não consegui lembrar o nome desse pacote. :)
netcoder
realmente? sudo apt-get install libboost-all-dev Lendo listas de pacotes ... Pronto Construindo árvore de dependências Lendo informação de estado ... E feito: Impossível localizar pacote libboost-all-dev
Cashcow
Na verdade, perguntei como minha própria pergunta e, depois de ativar o universo e fazer o apt-get update, ele reapareceu. Talvez você queira adicioná-los à sua resposta. (Não é óbvio para todos ... E nada de errado em afirmar coisas que podem ser óbvio para muitos, se é um dos passos)
Cashcow
onde esses arquivos estão localizados
prasad
36

Não é específico ao Boost, mas para obter os arquivos de cabeçalho (por exemplo: bzlib.h) para uma biblioteca, você precisa instalar os devpacotes para ele:

sudo apt-get install libbz2-dev

Geralmente, para encontrar em quais pacotes um arquivo está contido, use apt-file:

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

Eu acho que existe um meta pacote para as bibliotecas de impulso, embora eu não me lembre do nome dele.

codificador de rede
fonte