Det accepterade svaret här är korrekt (förutom att jag tror att det måste vara ln -fs, jag tror faktiskt att det till och med kan riskera att destabalisera ditt operativsystem om inte (?)). Efter att ha stött på det här och hanterat det vill jag bara samla hela lösningen för det här problemet och det andra lib-problemet (libcrypto.1.0.0.dylib) du kommer att stöta på för Postgres 9.* på Mountain Lion och Snow Leopard, och kanske andra system. Detta blockerade mig också från att köra psql, som klagade över samma två libs.
I huvudsak behövs två libs i senare versioner i /usr/lib
, libssl och libcrypto. Du kan hitta de nödvändiga versionerna av dessa libs i Postgres lib-katalogen.
- Om du är OSX och har installerat Enterprise DB-versionen av Postgres kommer detta att finnas i
/Library/PostgreSQL/9.2/lib
. - För andra installationstyper av Postgres, leta efter lib-katalogen i Postgress-installationskatalogen, t.ex. för Postgress.app, hitta lib-katalogen i
/Applications/Postgres.app/Contents/MacOS/lib ,
- för bryggning någonstans i
/usr/local/Cellar
, - på *nix, var din installation än är. Men se först på *nix om din distro har senare versioner bara genom pakethanteraren.
Kopiera först den senaste av dessa två libs från Postgres lib-katalogen till /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
Uppdatera (eller skapa) sedan /usr/lib symbollänkarna för denna libs. Hur som helst är kommandot 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
Bör fixas. Ganska säker på att ln -fs är bättre än att ta bort symbollänken och göra om den, så det är mindre chans att libssl inte kan hittas av något som behöver den under den tid den inte är närvarande (den gör samma sak; den tar först bort symbollänken om den är redan där, bara snabbare än du kan skriva det). Var alltid försiktig med att röra på /usr/lib.