Dear Maintainer,
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
I launched GIMP from the command line. Intially I got this
printed:
$ gimp
GEGL-Message: 14:11:26.775: Module '/usr/lib/x86_64-linux-gnu/gegl-0.4/exr-save.so' load error: libOpenEXR-3_1.so.30: cannot open shared object file: No such file or directory
GEGL-Message: 14:11:26.776: Module '/usr/lib/x86_64-linux-gnu/gegl-0.4/exr-load.so' load error: libOpenEXR-3_1.so.30: cannot open shared object file: No such file or directory
Failed loading SDL3 library.
Segmentation fault gimp
* What exactly did you do (or not do) that was effective (or
ineffective)?
I tried the same command a few more times, with the same result. Then
At the suggesion of the Google AI, I tried
$ sudo apt update && sudo apt install libopenexr-3-1-30
which didn't help, then
$ sudo apt-get reinstall gimp
* What was the outcome of this action?
No improvement:
$ gimp
Failed loading SDL3 library.
Segmentation fault gimp
$ gimp --verbose --console-messages --debug-handlers
Parsing '/etc/gimp/3.0/gimprc' for configuration data required during early initialization.
Parsing '/home/jrv/.config/GIMP/3.2/gimprc' for configuration data required during early initialization.
No language property found.
Failed loading SDL3 library.
* What outcome did you expect instead?
splash screen, then the running program.
*** End of the template - remove these template lines ***
Are you still experiencing this issue? If not, this may have been fixed with gimp 3.2.4-3+b1 which has this note "Rebuild against libimath-3-2-30" I believe these kinds of issues happen occasionally in Debian Unstable where there may be incomplete library transitions and are less likely to happen with Debian Testing. Thank you, Jeremy Bícha
Thanks for the note! I still have the problem. I am running unstable, and now have gimp version 3.2.6-1 installed. I'm not sure how to interpret "Package gimp is not available" when dpkg says it's installed, but at least the version you mention doesn't seem to be available. (And I have done "sudo apt-get update".) $ gimp Failed loading SDL3 library. Segmentation fault gimp $ dpkg -l *gimp* +-- Desired=Unknown/Install/Remove/Purge/Hold |+- Status=Inst/Not-inst/Confs/Unpack/halF-conf/Half-inst/trig-aWait/Trig-pend ||+ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) │││ Name Version Architecture Description ├┼┼─═══════════════════════─═══════════════════════════════─══════════════─═══════════ ii gimp 3.2.6-1 amd64 GNU Image Manipulation Program ii gimp-data 3.2.6-1 all Data files for GIMP ii gimp-data-extras 1:2.0.4-0.2 all Extra brushes and patterns for GIMP un gimp-dcraw <none> <none> (no description available) un gimp-dds <none> <none> (no description available) ii gimp-dimage-color 1.1.0-3.2 amd64 GIMP plugin to convert Minolta DiMAGE pictures to sRGB colour space ii gimp-gap 2.6.0+dfsg-9 amd64 animation package for the GIMP un gimp-gmic <none> <none> (no description available) ii gimp-gutenprint 5.3.4.20220624T01008808d602-3 amd64 print plugin for the GIMP un gimp-help <none> <none> (no description available) ii gimp-help-common 3.2.0-3 all Data files for the GIMP documentation ii gimp-help-en 3.2.0-3 all Documentation for the GIMP (English) ii gimp-texturize 3.0+ds-1 amd64 generates large textures from a small sample ii gimp-ufraw 0.22-4 amd64 gimp importer for raw camera images un gimp1.2-perl <none> <none> (no description available) ii gir1.2-gimp-3.0:amd64 3.2.6-1 amd64 Introspection data for the GIMP library un gir1.2-gimpui-3.0 <none> <none> (no description available) ii libgimp-3.0-0:amd64 3.2.6-1 amd64 Libraries for the GNU Image Manipulation Program un libgimp2.0 <none> <none> (no description available) ii libgimp2.0-doc 2.10.38-2 all Developers' Documentation for the GIMP library ii libgimp2.0t64:amd64 2.10.38-2 amd64 Libraries for the GNU Image Manipulation Program $ sudo apt install gimp=3.2.4-3+b1 Package gimp is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: libgimp-3.0-dev:i386 libgimp-3.0-dev Error: Version '3.2.4-3+b1' for 'gimp' was not found Gemini claims that "libsdl3-0: Supplies the runtime shared library" libsdl3-0 is not listed as a dependency for gimp (either for version 3.2.4-3 in my original bug report, or for the version I have now). I installed it anyway, but that didn't help: $ sudo apt-get install libsdl3-0 [sudo] password for jrv: Reading package lists... Done Building dependency tree... Done Reading state information... Done libsdl3-0 is already the newest version (3.4.16+ds-1). libsdl3-0 set to manually installed. Solving dependencies... Done 0 upgraded, 0 newly installed, 0 to remove and 960 not upgraded. $ gimp Failed loading SDL3 library. Segmentation fault gimp
I note that ldd lists 124 library dependencies for gimp, but none is an sdl
library. Likewise for `gimp -v`. So how can we tell what version library
it needs?
$ ldd `which gimp`|wc
124 492 10314
$ gimp
Failed loading SDL3 library.
Segmentation fault gimp
$ ldd `which gimp` | grep -i sdl
$
$ gimp -v
GNU Image Manipulation Program version 3.2.6
git-describe: GIMP_3_2_6
Build: unknown rev 0 for linux
# C compiler #
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/16/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 16.2.0-2'
--with-bugurl=file:///usr/share/doc/gcc-16/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2,rust,cobol,algol68
--prefix=/usr --with-gcc-major-version-only --program-suffix=-16
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace
--enable-gnu-unique-object --disable-vtable-verify --enable-plugin
--enable-default-pie --with-system-zlib --enable-libphobos-checking=release
--with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch
--disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none=/build/reproducible-path/gcc-16-16.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/reproducible-path/gcc-16-16.2.0/debian/tmp-gcn/usr
--enable-offload-defaulted --without-cuda-driver --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
--with-build-config=bootstrap-lto-lean --enable-link-serialization=3
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 16.2.0 (Debian 16.2.0-2)
# Libraries #
using babl version 0.1.128 (compiled against version 0.1.128)
using GEGL version 0.4.72 (compiled against version 0.4.72)
using GLib version 2.90.0 (compiled against version 2.90.0)
using GdkPixbuf version 2.44.7 (compiled against version 2.44.7)
using GTK+ version 3.24.52 (compiled against version 3.24.52)
using Pango version 1.58.0 (compiled against version 1.58.0)
using Fontconfig version 2.17.1 (compiled against version 2.17.1)
using Cairo version 1.18.4 (compiled against version 1.18.4)
using gexiv2 version 0.16.2 (compiled against version 0.16.2)
using exiv2 version 0.28.9
$
Control: tags -1 + moreinfo unreproducible
Control: severity -1 important
Unfortunately, in general you can't, because gimp has a plugin
architecture, so it also needs all the libraries that are required by
all of its plugins.
sdl2-compat, which is the implementation of libSDL2-2.0.so.0
(libsdl2-2.0-0) in Debian testing/unstable. Presumably some plugin pulls
that in, most likely via libgegl-0.4-0t64, which has plugins named
sdl2-display.so and sdl3-display.so.
But, libsdl2-2.0-0 depends on libsdl3-0, so it should be able to load
that library successfully - and indeed you previously said that you do
already have libsdl3-0 installed, at a suitable version.
I can't reproduce this crash: gimp loads successfully for me, and
/proc/$(pgrep gimp)/maps shows that it has loaded both libSDL2-2.0.so.0
(libsdl2-2.0-0) and libSDL3.so.0 (libsdl3-0).
What version of libsdl2-2.0-0 do you have installed? Ideally run
dpkg-query -W|grep libsdl
which would list all SDL-related libraries.
Are there any libraries in /usr/local/lib or some other non-dpkg-managed
location?
Running
LD_DEBUG=libs gimp 2>&1 | tee 1145050.log
would likely provide useful information in 1145050.log (it will be
very verbose for an application as complex as gimp).
smcv
Here are my sdl libraries:
$ dpkg-query -W|grep libsdl
libsdl-image1.2:amd64 1.2.12-14+b2
libsdl-mixer1.2:amd64 1.2.12-19+b2
libsdl-ttf2.0-0:amd64 2.0.11-6+b3
libsdl1.2debian:amd64 1.2.76-1
libsdl2-2.0-0:amd64 2.32.72+ds-1
libsdl2-image-2.0-0:amd64 2.8.12+dfsg-2
libsdl3-0:amd64 3.4.16+ds-1
$
I don't see any relevant libraries in /usr/local/lib:
home:/usr/local/lib $ ls lib*
libcruft.a libjvc.a libmp3lame.so libsensors.a
libtcl7.5.so.1.0 libtkx4.1.so.1.0
libctl.a libjvc.so libmp3lame.so.0 libsensors.so
libtcl.sa libvga.config
libdmalloc.a libjvc.so.1 libmp3lame.so.0.0.0 libsensors.so.3
libtclx7.5.so.1 libvga.et4000
libdmalloclp.a libjvc.so.1.0 liboctave.a libsensors.so.3.0.2
libtclx7.5.so.1.0
libhistory.a libkpathsea.a liboctinterp.a libsensors.so.3.0.7
libtinst.a
libjasper.a libmp3lame.a libqd.a libtcl7.5.a
libtk.sa
libjasper.la libmp3lame.la libreadline.a libtcl7.5.so.1
libtkx4.1.so.1
The LD_DEBUG script printout ends like this:
864089: trying
file=/usr/lib/x86_64-linux-gnu/pulseaudio/glibc-hwcaps/x86-64-v2/libpulsecommon-17.0.
so
864089: (no such file)
864089: trying file=/usr/lib/x86_64-linux-gnu/pulseaudio/
libpulsecommon-17.0.so
864089:
864089: find library=libsndfile.so.1 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libsndfile.so.1
<------------- note
864089:
864089: find library=libX11-xcb.so.1 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1
864089:
864089: find library=libasyncns.so.0 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libasyncns.so.0
864089:
864089: find library=libFLAC.so.14 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libFLAC.so.14
864089:
864089: find library=libvorbis.so.0 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libvorbis.so.0
864089:
864089: find library=libvorbisenc.so.2 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
864089:
864089: find library=libopus.so.0 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libopus.so.0
864089:
864089: find library=libogg.so.0 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libogg.so.0
864089:
864089: find library=libmpg123.so.0 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libmpg123.so.0
864089:
864089: find library=libmp3lame.so.0 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libmp3lame.so.0
864089:
864089: find library=libmvec.so.1 [0]; searching
864089: search cache=/etc/ld.so.cache
864089: trying file=/usr/lib/x86_64-linux-gnu/libmvec.so.1
864089:
864089: /usr/lib/x86_64-linux-gnu/libsndfile.so.1: error: symbol
lookup error: undefined symbol: lame_encode_buffer_interleaved_int (fatal)
Failed loading SDL3 library.
$
The libsndfile library is another one not listed by ldd:
$ ldd `which gimp`|grep snd
$
or in the depends list:
home:/var/cache/apt/archives $ apt-cache depends gimp | grep snd
home:/var/cache/apt/archives $
It's in the libsdnfile1 package:
home:/usr/local/lib $ apt-file search
/usr/lib/x86_64-linux-gnu/libsndfile.so.1
libsndfile1: /usr/lib/x86_64-linux-gnu/libsndfile.so.1
libsndfile1: /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.37
...of which I have this version:
$ dpkg -l libsndfile1
+-- Desired=Unknown/Install/Remove/Purge/Hold
|+-
Status=Inst/Not-inst/Confs/Unpack/halF-conf/Half-inst/trig-aWait/Trig-pend
||+ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
│││ Name Version Architecture Description
├┼┼─═══════════════════─════════════
ii libsndfile1:amd64 1.2.2-4+b1 amd64 Library for
reading/writing audio files
$
$ sudo dpkg-query -W |grep libsnd
libsndfile1:amd64 1.2.2-4+b1
libsndfile1-dev:amd64 1.2.2-4+b1
libsndio6.1:amd64 1.1.0-3
libsndio7.0:amd64 1.10.0-0.2+b2
$
I have the latest version:
$ sudo apt-get install libsndfile1
[sudo] password for jrv:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libsndfile1 is already the newest version (1.2.2-4+b1).
libsndfile1 set to manually installed.
Solving dependencies... Done
0 upgraded, 0 newly installed, 0 to remove and 420 not upgraded.
$
Do I need something different?
I'm sorry, but having all of that installed in /usr/local/lib/ is enough to make your Debian system unsupportable. It's impossible for me to duplicate on my system what might be installed on your system. I recommend that you backup your data and reinstall Debian. Then in the future, don't use 'make install' or similar commands on your Debian install. https://wiki.debian.org/DontBreakDebian Thank you, Jeremy Bícha
I do. This:
is breaking libsndfile, presumably by being older than the version of
libmp3lame provided by Debian in /usr/lib that it needs:
and that's breaking SDL3, which breaks sdl2-compat, which breaks GIMP.
(But after fixing that, you might well find that something else in
/usr/local/lib is also interfering.)
As jbicha said, the libraries you have in /usr/local/lib make this
unsupportable.
smcv
I note that the LD_DEBUG printout didn't show any of the libraries coming
from /usr/local/lib. Regardless, I moved all those libraries to
/usr/local/aside and rebooted, but got the same error.
The gimp dependency list only has 52 library packages:
$ apt depends gimp|grep 'Depends: lib'|wc
52 196 1786
However, the debug listing shows 185 libraries:
$ LD_DEBUG=libs gimp 2>&1 | grep "find library" | sort -u | wc
185 925 10382
I expect gimp needs newer versions of some of the other 133 libraries.
(Some packages may supply more than one library.)
I'm running unstable.
When I run "apt-get dist-upgrade", it lists 117 lib* packages under "not
upgrading". I assume it's waiting for updated versions of something.
I wish gimp's dependency list was more complete, so I could tell where the
problem is.
I'm sorry, but we don't have the capacity to provide any more support for you for this issue. It is impossible for us to reproduce your issue which appears to be caused by installing non-Debian software libraries. If you can reproduce this issue starting from a clean install of Debian, please open a new bug. Thank you, Jeremy Bícha