Atualizei meu sistema para Ubuntu 22.04 e encontrei problemas ao usar o libgdal26
pacote
O libgdal26
pacote é usado para que meu aplicativo Django v.2.2 funcione. Funciona bem no Ubuntu 20.04.
Após a atualização, encontrei o seguinte problema:
libgdal26
dependelibproj15
elibgeotiff5
libgeotiff5
depende delibproj22
Como resultado, o carregamento libgdal26
do aplicativo carrega as bibliotecas libproj15
e libproj22
, o que leva ao dump do núcleo e/ou exceções 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 exemplo, isso faz parte do backtrace (executável python) após o dump do 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)
Esta libproj
não é a única biblioteca duplicada carregada com o arquivo libgdal
. Eles também são:
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)
Responder1
Eu encontrei um ponto base. O libgdal26
pacote está ausente no Ubuntu 22.04 e não pode ser usado por causa disso. Como resultado, o uso do Django 2.2 com o subsistema GIS sem problemas não está disponível no sistema.
Nota: O subsistema GIS do Django 2.2 não sabe das últimas alterações na libgdal
biblioteca e troca de coordenadas por causa disso.