Postgres Ошибка Postgis: библиотека не загружена: /usr/local/lib/libspatialite.5.dylib

Просматривая приложение Postgres-Rails в процессе разработки, я столкнулся с ошибкой страницы из-за ошибки PG. Думая, что моя текущая схема ветки Git, возможно, не синхронизирована с моей базой данных, я попытался rake db:reset, Это вызвало ошибку (которую я больше не могу воспроизвести), утверждая, что не может найти postgis.control файл (IIRC) в usr/local/Cellar/postgresql/9.3.5/share/postgresql каталог. Увидев, что этот контрольный файл существует в соответствующем каталоге для моей версии Postgres 9.3.4, я предпринял много попыток, но в итоге удалил свой postgres-9.3.4 и удалил brew, а затем снова установил PostGIS. В какой-то момент, хотя все мои попытки сброса базы данных продолжали терпеть неудачу, сообщение об ошибке изменилось на

ОШИБКА: не удалось загрузить библиотеку "/usr/local/Cellar/postgresql/9.3.5/lib/rtpostgis-2.1.so": dlopen(/usr/local/Cellar/postgresql/9.3.5/lib/rtpostgis-2.1. Итак, 10): Библиотека не загружена: /usr/local/lib/libspatialite.5.dylib

Затем я попытался удалить Postgres и переустановить, но даже это не решило проблему.

(Примечание: я попытался создать расширение для PostGIS в консоли Postgres, но это дало ту же ошибку, что и перечисленные выше).

1 ответ

Решение

Хорошо, понял это!

Так что я не уверен, что это даже что-то напрямую связано с Postgres или PostGis.

В моем первом посте я пропустил последующие строки ошибок, которые на самом деле оказались существенными. Они были

      Referenced from: /usr/local/lib/libgdal.1.dylib
      Reason: image not found

libgdal.1.dylib - это файл из GDAL (Библиотека абстракции геопространственных данных). Отсутствующий файл libspatialite.5.dylib взят из SpatiaLite, библиотеки для расширения SQLite. В /usr/local/lib/ у меня был другой файл, libspatialite.7.dylib, но не libspatialite.5.lib. Изучив каталог /usr/local/opt и другие его подкаталоги, я обнаружил, что у меня есть две версии SpatiaLite, более ранняя из которых использовала libspatialite.5.dylib, а вторая - libspatialite.7.lib.

Казалось, мой GDAL вышел из синхронизации с моими последними версиями пространственного пространства. Я казнил

$ brew uninstall gdal
$ brew install gdal

и моя проблема была решена!

Другие вопросы по тегам