ここで受け入れられた答えは正しいです(ただし、ln -fsである必要があると思いますが、実際には、そうでない場合はOSを不安定にするリスクがあると思います(?))。これにぶつかって対処した後、この問題と、MountainLionとSnowLeopardでPostgres9. *に遭遇する他のlib問題(libcrypto.1.0.0.dylib)の完全な解決策を収集したいと思います。おそらく他のシステム。これにより、同じ2つのライブラリについて不平を言うpsqlの実行もブロックされました。
基本的に、 / usr / lib
には2つの新しいバージョンのライブラリが必要です。 、libsslおよびlibcrypto。これらのライブラリの必要なバージョンは、Postgresのlibディレクトリにあります。
- OSXで、Enterprise DBバージョンのPostgresをインストールした場合、これは
/Library/PostgreSQL/9.2/lib
にあります。 。 - Postgresの他のインストールタイプについては、Postgressインストールディレクトリ内のlibディレクトリを探します。たとえば、Postgress.appの場合は、
/Applications/Postgres.app/Contents/MacOS/libでlibディレクトリを見つけますコード> 、
-
/ usr / local / Cellar
のどこかで醸造する場合 、 - * nixで、インストール場所はどこでも。ただし、ディストリビューションにパッケージマネージャーだけで新しいバージョンがある場合は、最初に*nixを参照してください。
まず、これら2つのライブラリの最新のものをPostgreslibディレクトリから/ usr / lib
にコピーします。 :
sudo cp /Library/PostgreSQL/9.2/lib/libssl.1.0.0.dylib /usr/lib
sudo cp /Library/PostgreSQL/9.2/lib/libcrypto.1.0.0.dylib /usr/lib
次に、このライブラリの/ usr / libシンボリックリンクを更新(または作成)します。いずれにせよ、コマンドは ln -fs
です。 :
sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib
修正する必要があります。 ln -fsは、シンボリックリンクを削除して再作成するよりも優れているので、libsslが存在しない間、それを必要とするものがlibsslを見つけられない可能性は低くなります(同じことを行います。シンボリックリンクが存在する場合は、最初にシンボリックリンクを削除します)。すでにそこにあり、入力するよりも速くなります)。 / usr/libをいじり回すことには常に注意してください。