После обновления Ubuntu от 16,04 до 16,10, я начал получать эту ошибку каждый раз, когда я пытался сделать что-либо связанное с постстеклом:
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
Я не имею libboost_thread.so.1.58.0
но я действительно имею libboost_thread.so.1.61.0
расположенный в /usr/lib/x86_64-linux-gnu/
. Я думал, возможно, отбрасывая расширение, и переустанавливание постстекла добьется цели, но это, казалось, ничего не изменило. Теперь, когда я пробую CREATE EXTENSION postgis;
Я получаю ту же ошибку.
Вывод для 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
И 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
Я пытался использовать LD_PRELOAD
и правильные версии обнаружились в ldd
, но это все еще попросило 1.58.0
на выполнении. Я не нашел версий 1.58.0
установленный на машине, и это даже не доступно в значении по умолчанию repo.
Это складывается в /usr/local/lib
, у меня были приблизительно .so
файлы, связанные с sfcgal (зависимость от постстекла), которые были созданы до обновления, когда я все еще использовал более старую версию повышения. Этот каталог, должно быть, имел приоритет по корректному каталогу, и таким образом, он пытался связаться со старым повышением.
я думаю, что это должно только быть проблемой для людей, которые создали sfcgal из источника в какой-то момент и не очищали все.