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.

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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.