Zde přijatá odpověď je správná (kromě si myslím, že to musí být ln -fs , ve skutečnosti si myslím, že by to mohlo dokonce riskovat destabalizaci vašeho OS, pokud ne (?)). Poté, co jsem na to narazil a vypořádal se s tím, chci shromáždit úplné řešení tohoto problému a dalšího problému s knihovnou (libcrypto.1.0.0.dylib), na který narazíte pro Postgres 9.* na Mountain Lion a Snow Leopard, a možná jiné systémy. To mi také zablokovalo spuštění psql, které si stěžovalo na stejné dvě knihovny.
V podstatě jsou v /usr/lib
potřeba dvě knihovny lib pozdější verze , libssl a libcrypto. Potřebné verze těchto knihoven najdete v adresáři Postgres lib.
- Pokud máte OSX a nainstalovali jste verzi Enterprise DB Postgres, bude to v
/Library/PostgreSQL/9.2/lib
. - U jiných typů instalace Postgresu vyhledejte adresář lib v instalačním adresáři Postgress, např. pro Postgress.app vyhledejte adresář lib v
/Applications/Postgres.app/Contents/MacOS/lib ,
- pro vaření někde v
/usr/local/Cellar
, - na *nix, ať je vaše instalace kdekoli. Ale podívejte se nejprve na *nix, pokud má vaše distribuce novější verze pouze prostřednictvím správce balíčků.
Nejprve zkopírujte nejnovější z těchto dvou knihoven z adresáře Postgres lib do /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
Poté aktualizujte (nebo vytvořte) symbolické odkazy /usr/lib pro tuto knihovnu. V obou případech je příkaz 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
Mělo by být opraveno. Určitě je ln -fs lepší než smazat symbolický odkaz a předělat ho, takže je menší šance, že libssl nebude najít něco, co ho potřebuje, po dobu, kdy není přítomen (dělá to samé; nejprve smaže symbolický odkaz, pokud je již tam, jen rychleji, než to můžete napsat). Vždy si dávejte pozor, abyste se nemotali v /usr/lib.