ОС openSUSE 12.1, PostgreSQL - 9.1, PostGIS - 2.0. Postgre / PostGIS устанавливаются из репозитория приложения: Geo.
После недавних обновлений, когда я пытаюсь подключиться к своей базе данных, я получаю следующую ошибку:
ERROR: could not load library "/usr/lib/postgresql91/lib64/postgis-2.0.so":
/usr/lib/postgresql91/lib64/postgis-2.0.so: undefined symbol: pj_get_spheroid_defn
Я искал в сети эту ошибку ( подсказка-1 , подсказка-2 ) и, похоже, что это может быть связано с ld.so.config (или командой ldconfig). Но я не могу понять, что мне делать в моем случае.
postgis
postgresql
SS_Rebelious
источник
источник
proj --version
и / илиldd `which proj`
показать?Rel. 4.7.1, 23 September 2009
Как я могу обновить его до 4.8. У меня нет идей :( Я использую Ubuntu 12.4. Спасибо, Мо.Ответы:
Благодаря MikeToews я смог решить эту проблему. PostGIS 2.0 в openSUSE зависит
libproj0
и его версия должна быть> = 4.8. Каким-то образом менеджер пакетов не уведомил меня о новой версии, доступной для,libproj0
поэтому я проверил более новую версию вручную через Yast на вкладке «Версии». После обновления я могу нормально работать с базой данных.источник
Я не верю, что выбранный ответ имеет какое-либо отношение к проблеме,
Что случилось
Вы установили новую версию PostGIS, созданную на основе версии Proj, которой у вас нет. Вероятно, ваш проект предоставлен OpenSUSE. Вам необходимо установить версию proj из репозитория Application: Geo или версию PostGIS из основного репозитория OpenSUSE. Это несоответствие клиента зависимости. Вы должны сообщить об ошибке в SUSE, если проблема не устранена.
Дело не в том, что PostGIS не работает на старых версиях proj. Дело в том, что SUSE строит ТОЛЬКО PostGIS для более новых версий, поэтому вам нужна такая.
ПостГИС и старый проект
Из сообщения об ошибке, поданного два года назад ,
Я думаю, что это проблема. Вы создали более новую версию proj, чем вы установили. Обновление установки до версии, которую вы создали agianst, является лишь одним из способов решения проблемы.
Вы можете видеть, что эта функция вызывается здесь, и она защищена
if
.Если это не работает, у вас есть другая проблема. Это обеспечивается системой сборки в 10-летнем макросе
источник
mmrs151. Обновление с версии 4.7 proj до версии 4.8 в Ubuntu 13.04. По крайней мере, это помогло мне решить ту же проблему.
источник