Ошибка 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
Ответы
Ответ 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
.
Ответ 2
Эта проблема была исправлена здесь. Переустановите и он должен работать.
$ brew update && upgrade
$ brew install 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
Ответ 4
Если вам нужно установить определенную версию формулы, посмотрите на этот поток:
Homebrew: установите определенную версию формулы
Ответ 5
Я просто столкнулся с этой проблемой, и версия 1.56.0 от boost
была доступна и решила проблему для меня. Похоже, проблема связана с 1.58.0.