Eu construí e instalei o boost usando as seguintes etapas:
# Boostrap and install
JOBS='grep -c ^processor /proc/cpuinfo'
wget https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.bz2
tar xf boost_1_67_0.tar.bz2
cd boost_1_63_0
./bootstrap.sh
./b2 -d1 -j${JOBS} --with-thread --with-filesystem --with-python --with-regex -sHAVE_ICU=1 --with-program_options --with-system link=shared release toolset=gcc stage
./b2 -d1 -j${JOBS} --with-thread --with-filesystem --with-python --with-regex -sHAVE_ICU=1 --with-program_options --with-system link=shared release toolset=gcc install
sudo bash -c "echo '/usr/local/lib' > /etc/ld.so.conf.d/boost.conf"
sudo ldconfig
Então, eu tento construir o mapnik que usa boost. Eu finalizo o mapnik e executo ./bootstrap.sh
e ./configure
. Eu recebo o erro "Não foi possível encontrar o cabeçalho necessário ou biblioteca compartilhada para aumentar o sistema de arquivos". A seção de reforço do configure é a seguinte:
Searching for boost libs and headers... (cached)
Found boost libs: mason_packages/.link/lib
Found boost headers: mason_packages/.link/include
Checking for C++ header file boost/version.hpp... yes
Checking for Boost version >= 1.61... yes
Found boost lib version...
Checking for C++ library boost_system... no
Could not find required header or shared library for boost system
Checking for C++ library boost_filesystem... no
Could not find required header or shared library for boost filesystem
Checking for C++ library boost_regex... yes
Checking for C++ library boost_program_options... yes
ValueError: invalid literal for int() with base 10: '':
File "/root/src/mapnik/SConstruct", line 1600:
boost_version = [int(x) for x in env.get('BOOST_LIB_VERSION_FROM_HEADER').split('_')]
(Construa passos cortesia de keisan )
Por que o sistema não encontra a biblioteca de reforço 1.67? Não me lembro de instalar o boost 1.63. Eu compilei e instalei 1.67, mas o sistema de compilação não o usa. Onde o sistema procura impulsionar o sistema? Eu apaguei todos os arquivos libboost_ * em / usr / local / lib e / usr / lib64, mas ainda não sei onde o sistema procura por impulso. Alguém pode dar uma dica sobre como informar ao sistema sobre o software recém-compilado?