Przyjęta tutaj odpowiedź jest prawidłowa (z wyjątkiem, że myślę, że musi to być ln -fs , w rzeczywistości myślę, że może to nawet spowodować destabilizację systemu operacyjnego, jeśli nie (?)). Po wpadnięciu na to i poradzeniu sobie z tym chcę po prostu zebrać pełne rozwiązanie tego problemu i innego problemu z bibliotekami (libcrypto.1.0.0.dylib), na który natrafisz w Postgres 9.* na Mountain Lion i Snow Leopard, oraz być może inne systemy. To również zablokowało mi uruchamianie psql, który narzekał na te same dwie biblioteki.
Zasadniczo w /usr/lib
potrzebne są dwie nowsze wersje bibliotek , libssl i libcrypto. Potrzebne wersje tych bibliotek można znaleźć w katalogu lib Postgres.
- Jeśli masz OSX i zainstalowałeś Postgres w wersji Enterprise DB, będzie to
/Library/PostgreSQL/9.2/lib
. - W przypadku innych typów instalacji Postgresa poszukaj katalogu lib w katalogu instalacyjnym Postgress, np. dla Postgress.app znajdź katalog lib w
/Applications/Postgres.app/Contents/MacOS/lib ,
- do zaparzenia gdzieś w
/usr/local/Cellar
, - na *nix, gdziekolwiek jest twoja instalacja. Ale zobacz najpierw *nix, jeśli twoja dystrybucja ma nowsze wersje tylko przez menedżera pakietów.
Najpierw skopiuj najnowszą z tych dwóch bibliotek z katalogu lib Postgres 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
Następnie zaktualizuj (lub utwórz) dowiązania symboliczne /usr/lib dla tych bibliotek. Tak czy inaczej, polecenie to 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
Powinien zostać naprawiony. Z pewnością ln -fs jest lepsze niż usuwanie dowiązania symbolicznego i ponowne jego tworzenie, więc istnieje mniejsze prawdopodobieństwo, że libssl będzie nie do znalezienia przez coś, co go potrzebuje na czas, gdy nie jest obecne (robi to samo; najpierw usuwa dowiązanie symboliczne, jeśli jest już tam, tylko szybciej niż możesz to wpisać). Zawsze uważaj na zabawę w /usr/lib.