Подтвердить что ты не робот

Ошибка PostGIS - PG:: InternalError: ОШИБКА: невозможно загрузить библиотеку

StandardError: An error has occurred, this and all later migrations canceled:

PG::InternalError: ERROR:  could not load library "/usr/local/Cellar/postgresql/9.4.5/lib/postgis-2.1.so": dlopen(/usr/local/Cellar/postgresql/9.4.5/lib/postgis-2.1.so, 10): Symbol not found: __ZN5boost7archive21basic_binary_iarchiveINS0_15binary_iarchiveEE13load_overrideERNS0_15class_name_typeEi
  Referenced from: /usr/local/lib/libSFCGAL.1.dylib
  Expected in: /usr/local/lib/libboost_serialization-mt.dylib
 in /usr/local/lib/libSFCGAL.1.dylib
: CREATE EXTENSION IF NOT EXISTS "postgis"/Users/harshamv/Sites/clink/db/migrate/20150812164615_enable_postgis.rb:3:in `change'
-e:1:in `<main>'
ActiveRecord::StatementInvalid: PG::InternalError: ERROR:  could not load library "/usr/local/Cellar/postgresql/9.4.5/lib/postgis-2.1.so": dlopen(/usr/local/Cellar/postgresql/9.4.5/lib/postgis-2.1.so, 10): Symbol not found: __ZN5boost7archive21basic_binary_iarchiveINS0_15binary_iarchiveEE13load_overrideERNS0_15class_name_typeEi
  Referenced from: /usr/local/lib/libSFCGAL.1.dylib
  Expected in: /usr/local/lib/libboost_serialization-mt.dylib
 in /usr/local/lib/libSFCGAL.1.dylib
: CREATE EXTENSION IF NOT EXISTS "postgis"
/Users/harshamv/Sites/clink/db/migrate/20150812164615_enable_postgis.rb:3:in `change'
-e:1:in `<main>'
PG::InternalError: ERROR:  could not load library "/usr/local/Cellar/postgresql/9.4.5/lib/postgis-2.1.so": dlopen(/usr/local/Cellar/postgresql/9.4.5/lib/postgis-2.1.so, 10): Symbol not found: __ZN5boost7archive21basic_binary_iarchiveINS0_15binary_iarchiveEE13load_overrideERNS0_15class_name_typeEi
  Referenced from: /usr/local/lib/libSFCGAL.1.dylib
  Expected in: /usr/local/lib/libboost_serialization-mt.dylib
 in /usr/local/lib/libSFCGAL.1.dylib
/Users/harshamv/Sites/clink/db/migrate/20150812164615_enable_postgis.rb:3:in `change'
-e:1:in `<main>'

Я получаю вышеуказанную ошибку внезапно, когда пытаюсь сбросить и воссоздать свой Rails-PostgreSQL

4b9b3361

Ответ 1

Вероятно, вы недавно обновили формулу boost Homebrew, выполнив brew update/brew upgrade, и, похоже, последняя версия не работает с postgis.

Я исправил очень похожую проблему, возвращаясь к предыдущей версии boost с помощью:

brew switch boost 1.58.0

UPDATE: теперь, когда это было исправлено в Homebrew, ответ, предлагающий сделать простое обновление/обновление, вероятно, является способом выхода. Если вы ранее переключались, теперь вы можете brew switch boost 1.59.0 обновиться до последней версии boost, вам также может потребоваться brew reinstall postgis.

Ответ 3

Не удалось найти 1.58.0, но 1.55.0_1 доступен и успешно установлен postgis для меня. Эти записи в effectif и fooobar.com/questions/764/... были очень полезны. Процесс может иметь дополнительные этапы.

Просто, чтобы быть уверенным:

$ brew uninstall postgis

Нажмите на версии homebrew, если они еще не установлены:

$ brew tap homebrew/versions

Найти новейшую версию:

$ brew search boost
...
homebrew/versions/boost155
...
$ brew install homebrew/versions/boost155

Это устанавливает повышение под другой формулой (boost155). Чтобы иметь возможность переключать версии, я привязал старую версию к каталогу boost:

$ ln -s /usr/local/Cellar/boost155/1.55.0_1 /usr/local/Cellar/boost/1.55.0_1 

После этого это обычное дело:

$ brew switch boost 1.55.0_1
$ brew install postgis

Ответ 5

Я просто столкнулся с этой проблемой, и версия 1.56.0 от boost была доступна и решила проблему для меня. Похоже, проблема связана с 1.58.0.