2012-07-02 15 views
12

OSXでGeoDjangoを使用するためにPostgisをインストールしようとしています。このためOSXのlibgeos_c.soがありません

、私が最初に完全にはpostgresをアンインストールし、その後、私はGeoDjangoドキュメント以下のすべてをインストール:https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#homebrew

私は次のようでした:

brew update 
brew upgrade 
brew install postgresql 
brew install postgis 
brew install gdal 
brew install libgeoip 

私は私のDjangoプロジェクトを実行すると、私は次の取得エラー:

OSError at/dlopen(/usr/local/lib/libgeos_c.so, 6): image not found 

私は

01を走りました

となった:

./Library/Frameworks/GEOS.framework/Versions/3/unix/lib/libgeos_c.dylib 
./Users/martin/opt/geos-3.3.0/capi/.deps/libgeos_c_la-geos_c.Plo 
./Users/martin/opt/geos-3.3.0/capi/.deps/libgeos_c_la-geos_ts_c.Plo 
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.1.dylib 
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.a 
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.dylib 
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.1.dylib 
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.a 
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.dylib 
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.1.dylib 
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.a 
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.dylib 
./usr/local/lib/libgeos_c.1.dylib 
./usr/local/lib/libgeos_c.a 
./usr/local/lib/libgeos_c.dylib 

あなたが見ることができるように、すべてのノー "の.so" ファイル。助言がありますか?

編集:絶望のうち

私もKyngChaosパッケージをインストールし、以下の設定を追加しました:

GEOS_LIBRARY_PATH = '/Library/Frameworks/GEOS.framework/GEOS' 
GDAL_LIBRARY_PATH = '/Library/Frameworks/GDAL.framework/GDAL' 
GEOIP_LIBRARY_PATH = '/usr/local/Cellar/geoip/1.4.8/lib/libGeoIP.dylib' 

これは、問題を解決しました。

+0

私はMac上でGEOSを醸造インストールしました。しかしGEOS_LIBRARY_PATHは自分のマシンと同じではありません。それがどこにあるのか知っていますか? findを使用しようとしましたが、読み込み権限を持っているフォルダの中で.soファイルが見つかりませんでした。私はsudoの権利を持っていません。 –

答えて

16

申し訳ありませんが、KyngChaosソリューションは自家製の使用目的を完全に破ります。

(この1のために、少なくとも、)自作ユーザーのための答えが、その後をgeosを再インストールして、その依存関係アンインストールgeosとその依存関係にあります。

これは私の仕事:

brew uninstall geos gdal geoip libspatialite librasterlite spatialite-gui spatialite-tools 
brew cleanup 
brew install geos 
brew install gdal geoip libspatialite librasterlite spatialite-gui spatialite-tools 
brew cleanup 

をいくつかのgeos依存関係が同期しなくなっているようです。

あなたはこれが返すものを追跡することによってをインストールする必要がライブラリを確認することができます:あなたは

Reason: Incompatible library version: [some geos dependent library].dylib requires version X.X.X or later, but libgeos_c.1.8.0.dylib provides version X.X.X. 

brew uninstall [some geos dependency] 
brew install [some geos dependency] 
brew cleanup 

のようなものが表示されます

python -c 'import _ctypes; _ctypes.dlopen("/usr/local/lib/libgdal.dylib")' 

そして、上記のいずれかpythonコマンドを再実行し、問題が解決されるか、アンインストール/インストールの依存関係が明らかになります。

+1

私は近いと思いますが、django.db.utils.OperationalError:ファイル "$ libdir/postgis-2.1"にアクセスできませんでした。このようなファイルやディレクトリはありません。Pythonのインポートテストではエラーは発生しません。私はpostgisをアンインストールし、brewはpostgisをアンインストールしてからbrewを使って再インストールしなければならなかった。 – radtek

+0

時間を費やして、ついにこれが私を救った。 – xrage

2

installation instructionsは、答えを保持するように見えます。これは、環境変数$GEOS_LIBRARY_PATHを設定することです。

+0

これは私に正しい方向を指摘しました。私はDocsのこの部分を無視しました。なぜなら、それはKyngChaosセクション(私はHomebrewセクションに従っていました)の下に現れ、第二にそれはこう言います: "Djangoの以前のバージョン(1.0.2のようなもの) Django 1.4を使用しています。私はKyngChaosルートも試してみましたが、欠落しているファイルは作成されませんが、いくつかの追加設定で実行することができました。 – mbrochh

+0

ちょっとニコロボの答えを最高にマークできますか? – radtek

+0

@radtek誰ですか? – trojanfoe

0

同じように、すべての指示に従ってインストールした後、私はKyngChaosライブラリを追加して、上記の3つのエクスポート文を〜/ .bash_profileに追加しました。これは私の問題を修正しました。

1

私はこのように解決しました。

$ brew install postgresql 
$ brew install postgis 
$ brew install gdal 
$ brew install libgeoip 

は、この設定Djangoの設定で:

GEOS_LIBRARY_PATH = '/usr/local/Cellar/geos/3.4.2/lib/libgeos_c.1.dylib' 

をそれからそれは私のために働きました。

0

私はこの同じ問題を持っていた自作からGDALをアンインストールし、KyngChaosからGDAL完全なパッケージをインストールすることによってそれを解決することができました:http://www.kyngchaos.com/software/frameworks

関連する問題