ERROR: could not access file "$libdir/postgis-2.0"

Ответить
Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

ERROR: could not access file "$libdir/postgis-2.0"

Сообщение SS_Rebelious » 20 ноя 2012, 18:32

Видимо после очередного апдейта postgis (не пользовался им пару месяцев, так что не знаю когда именно возникла проблема) при подключении к базе через pgAdmin получаю сообщение:
ERROR: could not access file "$libdir/postgis-2.0"
А при подключении через DBManager в QGIS:
could not access file "$libdir/postgis-1.5": No such file or directory
Меня несколько напрягает, что dbmanager ищет postgis-1.5, а не 2.0...

pg_config выдаёт следующее:

Код: Выделить всё

:~> pg_config
BINDIR = /usr/lib/postgresql91/bin
DOCDIR = /usr/share/doc/packages/postgresql91
HTMLDIR = /usr/share/doc/packages/postgresql91
INCLUDEDIR = /usr/include/pgsql
PKGINCLUDEDIR = /usr/include/pgsql
INCLUDEDIR-SERVER = /usr/include/pgsql/server
LIBDIR = /usr/lib/postgresql91/lib64
PKGLIBDIR = /usr/lib/postgresql91/lib64
LOCALEDIR = /usr/share/locale
MANDIR = /usr/share/man
SHAREDIR = /usr/share/postgresql91
SYSCONFDIR = /etc/postgresql
PGXS = /usr/lib/postgresql91/lib64/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--host=x86_64-suse-linux-gnu' '--build=x86_64-suse-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/lib' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--infodir=/usr/share/info' '--bindir=/usr/lib/postgresql91/bin' '--libdir=/usr/lib/postgresql91/lib64' '--includedir=/usr/include/pgsql' '--datadir=/usr/share/postgresql91' '--docdir=/usr/share/doc/packages/postgresql91' '--mandir=/usr/share/man' '--disable-rpath' '--enable-nls' '--enable-thread-safety' '--enable-integer-datetimes' '--without-readline' '--with-openssl' '--with-ldap' '--with-gssapi' '--with-krb5' '--with-system-tzdata=/usr/share/zoneinfo' 'build_alias=x86_64-suse-linux-gnu' 'host_alias=x86_64-suse-linux-gnu' 'CFLAGS=-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g'
CC = gcc
CPPFLAGS = -D_GNU_SOURCE
CFLAGS = -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard
CFLAGS_SL = -fpic
LDFLAGS = -Wl,--as-needed
LDFLAGS_EX = 
LDFLAGS_SL = 
LIBS = -lpgport -lssl -lcrypto -lkrb5 -lcom_err -lgssapi_krb5 -lz -lcrypt -ldl -lm 
VERSION = PostgreSQL 9.1.6
Видно, что LIBDIR = /usr/lib/postgresql91/lib64, а папка postgis-2.0 находится в /usr/share/postgresql/contrib/postgis-2.0/. Добавил символьную ссылку на эту папку из LIBDIR, но это не помогло.

Вот здесь описана подобная проблема. Как я понимаю, единственное, что помогло, это ручная замена "$libdir" в postgis.sql на полный путь к папке postgis-2.0. Есть ли какое-то более элегантное решение?

UPD: обратил внимание, что SHAREDIR = /usr/share/postgresql91, однако, в /usr/share/ есть ещё папка /postgresql в которой и находится папка "postgis-2.0". Может следует перенести содержимое /usr/share/postgresql в /usr/share/postgresql91?
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: ERROR: could not access file "$libdir/postgis-2.0"

Сообщение rhot » 14 июл 2013, 09:49

Nariman писал(а):заменил $libdir, выдается следующая ошибка. я неправильно ссылку прописал?

ERROR: could not access file "$libdir/usr/share/postgresql/contrib/postgis-2.0/": Нет такого файла или каталога
ага, неправильно. $libdir - это имя переменной, а у вас выходит, что часть пути.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: ERROR: could not access file "$libdir/postgis-2.0"

Сообщение rhot » 14 июл 2013, 11:14

Nariman писал(а):странно но выдает ту же ошибку
ERROR: could not access file "/usr/share/postgresql/contrib/postgis-2.0/": Нет такого файла или каталога
хотя данный каталог есть и файлы в нем тоже присутствуют.
Сервер от чьего имени запущен и какие права на папку и её содержимое?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: ERROR: could not access file "$libdir/postgis-2.0"

Сообщение rhot » 15 июл 2013, 09:31

Nariman писал(а):сервер запускаю командой sudo pgadmin3 (сервер запускается, успешно подключаюсь к БД)
Не такой командой запускают PostgreSQL сервер =)

Код: Выделить всё

ps aux | grep postgres
так и какой всё-таки юзер запускает сервер?
Последний раз редактировалось rhot 15 июл 2013, 09:45, всего редактировалось 1 раз.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: ERROR: could not access file "$libdir/postgis-2.0"

Сообщение rhot » 15 июл 2013, 10:44

Это не файл, а папка. И права там по-умолчанию и так принадлежат руту.
Ваша проблема кроется скорей всего в старой версии PostGIS, которую вы, по-видимому, не снесли ещё.

Восстановим события. Вы делали так: установили PostgreSQL 9.х с версией PostGIS 1.5 из их собственного графического установщика. Потом решили поставить PostGIS 2.0 согласно статье. Тут я немного не доумеваю, как можно ставить программу на линукс по статье для винды??

Так вот, пока вы полностью не удалите из системы старую версию, установка новой будет оч. долгой и не простой. Ещё как вариант (и я бы пошёл этим путём), собрать PostGIS самому.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Ответить

Вернуться в «PostGIS/PostgreSQL»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 22 гостя