Não acredito que a resposta escolhida tenha algo a ver com o problema,
O que aconteceu
- O Postgre / PostGIS é instalado no repositório Application: Geo.
- O SO é openSUSE
Você instalou uma nova versão do PostGIS criada contra uma versão do proj que você não possui. Seu projeto provavelmente é fornecido pelo OpenSUSE. Você precisa instalar a versão do proj no repositório Application: Geo ou a versão do PostGIS no repositório principal do OpenSUSE. Essa é uma incompatibilidade entre cliente e dependência. Você deve registrar um bug no SUSE se o problema persistir.
Não é que o PostGIS não funcione em versões antigas do proj. É que o SUSE está construindo o PostGIS SOMENTE em versões mais recentes, então você precisa de uma.
PostGIS e projeto antigo
De um relatório de bug apresentado há dois anos ,
Então, basicamente, o PostGIS também pode funcionar com versões mais antigas do Proj4, mas ele precisa saber em tempo de compilação.
Parece que o binário do watsonta foi construído contra o Proj 4.8, mas estava sendo executado em uma versão anterior. Muito provavelmente um bug no pacote binário ou em suas dependências (o proj-4.8 + é uma dependência dos postgis binários, conforme construído pelo empacotador).
Eu acho que esse é o problema. Você construiu contra uma versão mais recente do proj que você instalou. Atualizar a instalação para a versão que você construiu agianst é apenas uma maneira de corrigir o problema.
Você pode ver essa função chamada aqui e é protegida por um if
.
#if POSTGIS_PROJ_VERSION >= 48
Se isso não funcionar, você tem outro problema. É fornecido pelo sistema de compilação em uma macro de 10 anos
proj --version
e / ouldd `which proj`
mostra?