O Boost fornece um conjunto de bibliotecas gratuitas de fonte C++ portáteis revisadas por pares. Inclui bibliotecas para álgebra linear, geração de números pseudo-aleatórios, multi encadeamento, processamento de imagens, expressões regulares e testes de unidade.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2
Soma de verificação MD5 da transferência: 3276c0637d1be8687740c550237ef999
Tamanho da transferência: 113 MB
Espaço em disco estimado exigido: 1,1 GB (195 MB instalado)
Tempo de construção estimado: 1,4 UPC (Usando paralelismo=4; adicionar 1,2 UPC para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/boost
Uma mudança nesta versão do boost quebra os poucos pacotes que usam o módulo phoenix quando compilados com o GCC atual. No BLFS, isso afeta LibreOffice-7.5.0.3. Corrija isso com o seguinte comando:
sed -i '/#include.*phoenix.*tuple.hpp.*/d' \ boost/phoenix/stl.hpp
Esse pacote pode ser construído com vários trabalhos executando em
paralelo. Nas instruções abaixo, <N>
representa o número de
trabalhos. Instale o Boost
executando os seguintes comandos:
./bootstrap.sh --prefix=/usr --with-python=python3 &&
./b2 stage -j<N>
threading=multi link=shared
Para executar o teste de regressão do Boost.Build, emita pushd tools/build/test; python3 test_all.py; popd. Com python-3.10.x, todos os 168 testes deveriam passar. Com Python-3.11.2, 20 testes falham por razões indeterminadas.
Para executar cada um dos testes de regressão da biblioteca, emita
pushd status; ../b2;
popd. Uns poucos testes possivelmente falhem. Eles
tomam um tempo muito longo (mais que 119 UPC em -j4) e usam uma
quantidade muito grande de espaço em disco (46 GB). Você deveria
usar a chave -jN
para
acelerá-los.
O Boost instala muitos diretórios versionados em /usr/lib/cmake.
Se uma nova versão do Boost for
instalada sobre uma versão anterior, [então] os diretórios do
cmake mais antigos precisam ser explicitamente removidos. Para
fazer isso, execute como o(a) usuário(a) root
:
rm -rf /usr/lib/cmake/[Bb]oost*
antes de instalar a nova versão.
Agora, como o(a) usuário(a) root
:
./b2 install threading=multi link=shared
sed -i '/#include ...
: Isso
remove a inclusão de boost/phoenix/stl/tuple.hpp
dessa biblioteca
somente de cabeçalho, permitindo que aplicativos que a usam se
vincularem usando C++ recente. Uma alternativa é a de editar
/usr/include/boost/phoenix/stl.hpp
se
essa versão do "boost" já tiver sido instalada sem esse
sed.
threading=multi
: Esse
parâmetro garante que Boost seja
construído com suporte a multi encadeamento.
link=shared
: Esse parâmetro
garante que somente bibliotecas compartilhadas sejam criadas,
exceto "libboost_exception" e "libboost_test_exec_monitor" que são
criadas como estáticas. A maioria das pessoas não precisará das
bibliotecas estáticas, e a maioria dos aplicativos que usam o
Boost usa somente os cabeçalhos.
Omita esse parâmetro se precisar das bibliotecas estáticas.
--with-python=python3
: Essa
chave garante que o "Python3" seja usado se o "Python2" estiver
instalado.
-jN
: Essa chave pode ser adicionada às
linhas de comando b2,
para executar até N processos em paralelo.