Recientemente he actualizado PostGIS a la versión 2.2.2. Me gustaría actualizar una base de datos heredada a esta nueva versión, ejecutando esta consulta:
alter extension postgis update to "2.2.2"
El resultado es este error:
ERROR: could not load library "/usr/lib/postgresql/9.3/lib/postgis-2.2.so": /usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined symbol: _ZN5osgDB13writeNodeFileERKN3osg4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_7OptionsE
SQL state: 58P01
Tengo la biblioteca SFCGAL instalada con cabeceras y símbolos de depuración:
$ dpkg -l | grep sfcgal
ii libsfcgal-dev 1.2.2-1 amd64 Library for ISO 19107:2013 and OGC SFA 1.2 for 3D operations (dev part)
ii libsfcgal1 1.2.2-1 amd64 Library for ISO 19107:2013 and OGC SFA 1.2 for 3D operations (runtime part)
ii sfcgal-bin 1.2.2-1 amd64 Simple viewer for SFCGAL library
ii sfcgal-dbg 1.2.2-1 amd64 Debug symbols for SFCGAL
¿Cómo puedo superar esto?
Actualización
No he podido encontrar una fuente de paquete para una versión más reciente de la biblioteca SFCGAL. Por lo tanto, decidí reinstalar la pila de software desde un único repositorio, el PPA de UbuntuGIS . Ahora tengo la siguiente configuración:
postgresql-9.5
postgresql-9.5-postgis-2.2
(2.2.1+dfsg-3~xenial0)postgis
(2.2.1+dfsg-3~xenial0)libsfcgal1
(1.2.2-1)
Pero con esta nueva configuración me da el mismo error:
# CREATE EXTENSION postgis;
ERROR: could not load library "/usr/lib/postgresql/9.5/lib/postgis-2.2.so": /usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined symbol: _ZN5osgDB13writeNodeFileERKN3osg4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_7OptionsE