Ich habe mein System auf Ubuntu 22.04 aktualisiert und Probleme bei der Verwendung des libgdal26
Pakets festgestellt
Das libgdal26
Paket wird verwendet, damit meine Django v.2.2-Anwendung funktioniert. Es funktioniert einwandfrei unter Ubuntu 20.04.
Nach dem Upgrade habe ich folgendes Problem festgestellt:
libgdal26
hängt ab vonlibproj15
undlibgeotiff5
libgeotiff5
kommt drauf anlibproj22
Dies hat zur Folge, dass beim Laden libgdal26
der Anwendung sowohl - libproj15
als auch libproj22
-Bibliotheken geladen werden, was zu einem Core Dump und/oder unerwarteten Ausnahmen usw. führt.
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)
Dies ist beispielsweise ein Teil des (ausführbaren Python-)Backtrace, nachdem der Kernel gesichert wurde:
#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)
Dies libproj
ist nicht die einzige duplizierte Bibliothek, die mit geladen wird libgdal
. Es gibt auch:
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)
Antwort1
Ich habe einen grundlegenden Punkt gefunden. Das libgdal26
Paket fehlt in Ubuntu 22.04 und kann deshalb überhaupt nicht verwendet werden. Infolgedessen ist die problemlose Verwendung von Django 2.2 mit dem GIS-Subsystem auf dem System nicht möglich.
Hinweis: Das GIS-Subsystem von Django 2.2 kennt die letzten Änderungen in der libgdal
Bibliothek nicht und vertauscht deshalb die Koordinaten.