Trong OS X El Capitan (10.11), Apple đã thêm Bảo vệ toàn vẹn hệ thống .
Điều này ngăn các chương trình ở các vị trí được bảo vệ như /usr
từ việc gọi một thư viện được chia sẻ sử dụng một tham chiếu tương đối đến một thư viện được chia sẻ khác. Trong trường hợp của _mysql.so
, nó chứa một tham chiếu tương đối đến thư viện được chia sẻ libmysqlclient.18.dylib
.
Trong tương lai, thư viện được chia sẻ _mysql.so
có thể được cập nhật. Cho đến lúc đó, bạn có thể buộc nó sử dụng tham chiếu tuyệt đối qua install_name_tool
tiện ích.
Giả sử rằng libmysqlclient.18.dylib
nằm trong / usr / local / mysql / lib /, sau đó chạy lệnh:
sudo install_name_tool -change libmysqlclient.18.dylib \
/usr/local/mysql/lib/libmysqlclient.18.dylib \
/Library/Python/2.7/site-packages/_mysql.so