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
时突然出现上述错误答案 0 :(得分:12)
您最近可能已升级了boost
/ brew update
的{{1}}自制软件公式,似乎最新版本与brew upgrade
的效果不佳。
我修复了一个非常类似的问题,回到之前版本的postgis
:
boost
更新:现在已经在Homebrew中修复了,下面的答案建议进行简单的更新/升级可能是要走的路。如果之前 切换,您现在可以brew switch boost 1.58.0
升级到最新版本的brew switch boost 1.59.0
,您可能还必须boost
。
答案 1 :(得分:5)
这issue has been fixed here。重新安装,它应该工作。
$ brew update && upgrade
$ brew install postgis
答案 2 :(得分:3)
无法找到1.58.0,但1.55.0_1可用并成功为我安装了postgis。 effectif和stackoverflow中的这些条目非常有用。这个过程可能有额外的步骤。
只是为了确定:
$ 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 postgis
答案 3 :(得分:2)
如果您需要安装特定版本的公式,请查看以下主题:
答案 4 :(得分:2)
我也遇到了这个问题,boost
版本1.56.0可用,并为我解决了这个问题。看起来这个问题特别适用于1.58.0。