Настройка GeoDjango: ОШИБКА: не удалось получить доступ к файлу "$ libdir / postgis-1.5": такого файла или каталога нет - PullRequest
8 голосов
/ 31 июля 2010

Обновление: думал, что я решил это, но я не ... пожалуйста, смотрите ниже.


Я устанавливаю GeoDjango на Mac OSX.Я следовал инструкциям Mac , которые прошли гладко, и сейчас создаю шаблон пространственной базы данных для PostGIS .

Однако, когда я пытаюсь загрузитьSQL-процедуры PostGIS, я получаю ERROR: could not access file "$libdir/postgis-1.5": No such file or directory:

postgres$ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:59: ERROR:  could not access file "$libdir/postgis-1.5": No such file or directory
<snip>
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:7785: ERROR:  type "geometry" does not exist

Что не так и как я могу это исправить?

Я нашел эти инструкции от postgis IRC , но я думаю, что я использую правильную версию pg_config и т.д .:

postgres$ which pg_config
/usr/local/pgsql/bin//pg_config
postgres$ which psql
/usr/local/pgsql/bin//psql
postgres$ pg_config --pkglibdir
/usr/local/pgsql/lib

Я установил postgres и его расширения PostGIS из KyngChaos .Если я посмотрю в /usr/local/pgsql/lib, там будет файл с именем postgis-1.5.so, поэтому я не понимаю, почему он не найден.

Ответы [ 2 ]

3 голосов
/ 21 октября 2011

Я знаю, что это старый вопрос, но я нашел его с помощью Google, так что другие тоже могут оказаться здесь.

На моей Mac OSX MacPort установлено две папки с файлами .so для postgresql:

/opt/local/lib/postgresql90/

и

/usr/local/pgsql-9.0/lib/

Кажется, моя установка выглядела в / opt / local / lib / postgresql90 /, а не в /usr/local/pgsql-9.0/lib/, поэтому для установки pg_trgm мне пришлось сделать следующее:

sudo ln -s /opt/local/lib/postgresql90/pg_trgm.so /usr/local/pgsql-9.0/lib/

Это должно работать с любым файлом .so, который находится не в нужном месте - в вашем примере это было бы

sudo ln -s /opt/local/lib/postgresql90/postgis-1.5.so /usr/local/pgsql-9.0/lib/

Что позволяет мне также установить postgis:)

0 голосов
/ 07 мая 2014

Файл /usr/local/Cellar/postgresql9/9.0.17/lib/postgis-1.5.so отсутствует.Эта ошибка произошла после обновления brew, и решение состоит в том, чтобы удалить postgis и переустановить его с помощью:

brew uninstall postgis15

brew install postgis15

Результат должен быть следующим:установлен в: /usr/local/Cellar/postgresql9/9.0.17/lib

Поэтому после этого вы должны найти файл /usr/local/Cellar/postgresql9/9.0.17/lib/postgis-1.5.so

...