Actualicé mi sistema a Ubuntu 22.04 y encontré problemas al usar el libgdal26
paquete
El libgdal26
paquete se utiliza para que mi aplicación Django v.2.2 funcione. Funciona bien en Ubuntu 20.04.
Después de la actualización, encontré el siguiente problema:
libgdal26
depende delibproj15
ylibgeotiff5
libgeotiff5
depende delibproj22
Como resultado, al cargar libgdal26
la aplicación se cargan las bibliotecas libproj15
y libproj22
, lo que provoca un volcado del núcleo o excepciones inesperadas, etc.
seva@SEVA-MOBILE:~/swat/sharing$ ldd /usr/lib/libgdal.so.26 | grep libproj
libproj.so.15 => /lib/x86_64-linux-gnu/libproj.so.15 (0x00007f5941800000)
libproj.so.22 => /lib/x86_64-linux-gnu/libproj.so.22 (0x00007f593dc00000)
Por ejemplo, esto es parte del rastreo (ejecutable de Python) después de que se descartó el núcleo:
#9 0x00007f5caa4a7cb3 in osgeo::proj::common::UnitOfMeasure::~UnitOfMeasure() () from /lib/x86_64-linux-gnu/libproj.so.22
#10 0x00007f5cb2a45495 in __run_exit_handlers (status=0, listp=0x7f5cb2c19838 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true)
at ./stdlib/exit.c:113
#11 0x00007f5cb2a45610 in __GI_exit (status=<optimized out>) at ./stdlib/exit.c:143
#12 0x00007f5cb2a29d97 in __libc_start_call_main (main=main@entry=0x5feeb0, argc=argc@entry=3, argv=argv@entry=0x7fffc691e1f8) at ../sysdeps/nptl/libc_start_call_main.h:74
#13 0x00007f5cb2a29e40 in __libc_start_main_impl (main=0x5feeb0, argc=3, argv=0x7fffc691e1f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffc691e1e8) at ../csu/libc-start.c:392
#14 0x00000000005fede5 in _start ()
(gdb)
No es libproj
la única biblioteca duplicada cargada con el archivo libgdal
. Ellos son también:
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007ff5d8000000)
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007ff5d6000000)
libdap.so.25 => /lib/x86_64-linux-gnu/libdap.so.25 (0x00007ff5d9662000)
libdap.so.27 => /lib/x86_64-linux-gnu/libdap.so.27 (0x00007ff5d647a000)
libwebp.so.6 => /lib/x86_64-linux-gnu/libwebp.so.6 (0x00007ff5daf96000)
libwebp.so.7 => /lib/x86_64-linux-gnu/libwebp.so.7 (0x00007ff5d7a39000)
Respuesta1
He encontrado un punto base. El libgdal26
paquete está ausente en Ubuntu 22.04 y no se puede utilizar en absoluto debido a ello. Como resultado, el uso de Django 2.2 con el subsistema GIS sin problemas no está disponible en el sistema.
Nota: El subsistema GIS de Django 2.2 no conoce los últimos cambios en la libgdal
biblioteca e intercambia coordenadas debido a esto.