2015-11-03 53 views
13
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的PostGIS的错误 - PG :: InternalError该:错误:无法加载库

+0

看看http://cookieshq.co.uk/posts/introduction-to-postgis-and-rails/ – SSR

+0

的PostGIS尚未正确安装。你可以更新你的问题,包括你如何安装它? – Swanand

+0

@Swanand正是答案中提到的问题。 –

回答

12

你可能最近升级了boost家酿公式做一个brew update/brew upgrade,它似乎最新版本与postgis打得不好。

brew switch boost 1.58.0

UPDATE:现在,这是固定在自制,答案如下建议做一个简单的

我通过返回到以前的版本的boost固定一个非常类似的问题更新/升级可能是要走的路。如果你做过切换,你现在可以将brew switch boost 1.59.0升级到最新版本boost,你也许还需要brew reinstall postgis

+0

太棒了!这是我的问题! @哈沙你应该接受这个答案! – ZedTuX

+1

是的..升级时更新,当我没有酿造更新:/这是最好的方式来保持正常,但继续获得最新的? –

+1

我的1.58。0版本不见了,所以我得到'错误:在Cellar中没有版本“1.58.0”。版本可用:1.59.0'。我怎样才能得到旧版本? – n1000

3

找不到1.58.0下去,但1.55.0_1可用且已成功安装postgis为我。 effectifstackoverflow中的这些条目非常有帮助。该过程可能有额外的步骤。

只是可以肯定:

$ brew uninstall postgis 

点击以自制版本,如果没有它尚未:

$ brew tap homebrew/versions 

查找最新的可用:

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

这将安装提振下一个不同的公式(boost155)。为了能够切换的版本,我符号链接旧版本到升压目录:

$ 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 
2

我只是碰到了这个问题,以及和版本boost的1.56.0可用,并解决了我的问题。看起来问题特别是在1.58.0。

相关问题