Câu trả lời được chấp nhận ở đây là đúng (ngoại trừ tôi nghĩ nó phải là ln -fs, trên thực tế, tôi nghĩ rằng nó thậm chí có thể có nguy cơ làm mất ổn định hệ điều hành của bạn nếu không (?)). Sau khi gặp phải vấn đề này và xử lý nó, tôi chỉ muốn thu thập toàn bộ giải pháp cho vấn đề này và vấn đề lib khác (libcrypto.1.0.0.dylib) mà bạn sẽ gặp phải cho Postgres 9. * trên Mountain Lion và Snow Leopard, và có lẽ các hệ thống khác. Điều này cũng ngăn tôi chạy psql, vốn đã phàn nàn về hai lib giống nhau.
Về cơ bản, cần có hai lib phiên bản mới hơn trong / usr / lib
, libssl và libcrypto. Bạn có thể tìm thấy các phiên bản cần thiết của những lib này trong thư mục lib của Postgres.
- Nếu bạn đang sử dụng OSX và đã cài đặt phiên bản Enterprise DB của Postgres, phiên bản này sẽ có trong
/Library/PostgreSQL/9.2/lib
. - Đối với các kiểu cài đặt khác của Postgres, hãy tìm thư mục lib bên trong thư mục cài đặt Postgress, ví dụ:đối với Postgress.app, hãy tìm thư mục lib trong
/Application/Postgres.app/Contents/MacOS/lib ,
- để pha ở đâu đó trong
/ usr / local / Cellar
, - trên * nix, cho dù bạn cài đặt ở đâu. Nhưng hãy xem trước trên * nix nếu bản phân phối của bạn có các phiên bản mới hơn chỉ cần thông qua trình quản lý gói.
Đầu tiên, sao chép bản mới nhất trong số hai lib này từ thư mục Postgres lib vào / 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
Sau đó cập nhật (hoặc tạo) các liên kết tượng trưng / usr / lib cho lib này. Dù theo cách nào thì lệnh cũng là 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
Nên sửa. Khá chắc chắn ln -fs tốt hơn là xóa liên kết biểu tượng và tạo lại nó, vì vậy ít có khả năng libssl không thể tìm thấy được bởi thứ gì đó cần nó vào thời điểm nó không có mặt (nó cũng làm như vậy; trước tiên nó sẽ xóa liên kết biểu tượng nếu nó đã có, chỉ nhanh hơn bạn có thể gõ nó). Luôn cảnh giác với việc làm phiền trên / usr / lib.