Я не вірю, що обрана відповідь не має нічого спільного з проблемою,
Що трапилось
- Postgre / PostGIS встановлюються з Application: Geo сховища.
- ОС є openSUSE
Ви встановили нову версію PostGIS, побудовану на основі версії proj, якої у вас немає. Ваш проект, ймовірно, надається OpenSUSE. Вам потрібно встановити версію proj з репозиторію Application: Geo або версію PostGIS з основного сховища OpenSUSE. Це невідповідність клієнта. Вам слід подати помилку в SUSE, якщо проблема не зникає.
Справа не в тому, що PostGIS не працює на старих версіях proj. Це те, що SUSE ТІЛЬКИ будує PostGIS на основі новіших версій, тому вам потрібна.
PostGIS і старий proj
З повідомлення про помилку, подане два роки тому ,
Таким чином, PostGIS може працювати також і зі старими версіями Proj4, але це потрібно знати під час компіляції.
Потім схоже, що двійковий файл Watsonta був побудований проти Proj 4.8, але він працював проти попередньої версії. Велика ймовірність помилки у двійковому пакеті або його залежності (proj-4.8 + - це залежність від бінарних постгігів, як побудований пакувальником).
Я думаю, що це проблема. Ви побудували на основі нової версії програми, ніж встановили. Оновлення встановлення до версії, яку ви створили agianst - це лише один із способів вирішити проблему.
Ви можете бачити цю функцію, яку називають тут, і вона захищена if
.
#if POSTGIS_PROJ_VERSION >= 48
Якщо це не працює, у вас є інша проблема. Це забезпечується системою збирання в 10-річному макросі
proj --version
та / абоldd `which proj`
показує?