You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04系统中libgdal26包依赖冲突导致程序崩溃问题求助

Ubuntu 22.04系统中libgdal26包依赖冲突导致程序崩溃问题求助

大家好,我刚把系统升级到Ubuntu 22.04,结果发现我的Django 2.2应用没法正常运行了,问题根源出在libgdal26这个包上——在Ubuntu 20.04的时候它一直工作得好好的。

升级之后我排查出了依赖冲突的问题:

  • libgdal26依赖libproj15和libgeotiff5
  • 但libgeotiff5又依赖libproj22

这就导致加载libgdal26时,应用同时把libproj15和libproj22两个版本的库都加载进来了,直接引发了程序崩溃或者各种莫名其妙的异常。

我用ldd命令查看了libgdal.so.26的依赖,结果如下:

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)

下面是程序崩溃后,我用gdb拿到的部分回溯信息:

#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)

而且不止libproj,还有其他几个库也出现了重复加载的情况:

  • libcrypto.so.1.1 和 libcrypto.so.3
  • libdap.so.25 和 libdap.so.27
  • libwebp.so.6 和 libwebp.so.7

有没有朋友遇到过类似的问题?求指点怎么解决这个依赖冲突,让我的Django应用能在Ubuntu 22.04上正常跑起来!

备注:内容来源于stack exchange,提问作者nnseva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:24:31