trouble linking boost após atualização

1

Depois de atualizar o Ubuntu de 16.04 para 16.10, comecei a receber esse erro sempre que tentava fazer algo relacionado ao postgis:

could not load library "/usr/lib/postgresql/9.5/lib/postgis-2.2.so": libboost_thread.so.1.58.0: cannot open shared object file: No such file or directory

Não tenho libboost_thread.so.1.58.0 , mas tenho libboost_thread.so.1.61.0 localizado em /usr/lib/x86_64-linux-gnu/ . Eu pensei que talvez deixar cair a extensão e reinstalar o postgis fosse o suficiente, mas isso não pareceu mudar nada. Agora, quando tento CREATE EXTENSION postgis; , recebo o mesmo erro.

Saída para ldd /usr/lib/postgresql/9.5/lib/postgis-2.2.so | grep libboost :

libboost_thread.so.1.58.0 => not found
libboost_system.so.1.58.0 => not found
libboost_serialization.so.1.58.0 => not found

e ldconfig -p | grep -E "libboost_(thread|system|serialization)" :

libboost_thread.so.1.61.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.61.0
libboost_thread.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libboost_thread.so
libboost_system.so.1.61.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.61.0
libboost_system.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libboost_system.so
libboost_serialization.so.1.61.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.61.0
libboost_serialization.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libboost_serialization.so

Eu tentei usar LD_PRELOAD e as versões corretas apareceram em ldd , mas ainda pedi 1.58.0 na execução. Não encontrei nenhuma versão de 1.58.0 instalada na máquina e nem está disponível no repositório padrão.

    
por user3747260 27.10.2016 / 02:11

1 resposta

0

Acontece que em /usr/local/lib eu tinha alguns arquivos .so relacionados a sfcgal (uma dependência postgis) que foram construídos antes da atualização quando eu ainda estava usando a versão anterior do boost. Esse diretório deve ter precedência sobre o diretório correto e, por isso, tentava vincular-se ao antigo impulso.

Acho que isso só deve ser um problema para as pessoas que construíram o sfcgal a partir da fonte em algum momento e não limparam tudo.

    
por user3747260 28.10.2016 / 04:47