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时,突然就会收到上述错误。
发布于 2015-11-03 14:16:36
您可能最近升级了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。
发布于 2015-11-06 18:46:36
这个问题已经在这里解决了。重新安装,它应该可以工作。
$ brew update && upgrade
$ brew install postgis发布于 2015-11-05 09:54:10
也找不到1.58.0,但是1.55.0_1是可用的,并成功地为我安装了postgis。有效f和堆栈过流中的这些条目非常有用。这个过程可能有额外的步骤。
我只想确定:
$ brew uninstall postgis点击自制版本,如果还没有的话:
$ brew tap homebrew/versions找到最新可用的:
$ brew search boost
...
homebrew/versions/boost155
...
$ brew install homebrew/versions/boost155这将在不同的公式(boost155)下安装boost。为了能够切换版本,我将旧版本符号链接到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 postgishttps://stackoverflow.com/questions/33491836
复制相似问题