Building gimp 3.2.0 with python 3.14 installed on Linux is not successful

I have been trying to build gimp 3.2.0 from git and I cannot get to finish.
The failure occurs during the processing of gimp-data. Note python 3.14.3 and gdk-pixbuf 2.44.5 is installed.

FAILED: gimp-data/images/gimp-splash.png
/usr/bin/meson --internal exe --unpickle mybuild/meson-private/meson_exe_in-build-gimp.py_74d91bba1e70cca5397931c68b57c6c9b784309f.dat
while executing \[‘/usr/bin/python3’, ‘/tools/in-build-gimp.py’, ‘-nidfs’, ‘../gimp-data/images/gimp-splash.xcf.xz’, ‘–batch-interpreter’, ‘python-fu-eval’, ‘-b’, ‘-’, ‘–quit’\]
— stdout —
GdkPixbuf version too old!

GIMP requires GdkPixbuf version 2.30.8 or later.
Installed GdkPixbuf version is 2.30.7.

Somehow you or your software packager managed
to install GIMP with an older GdkPixbuf version.

Please upgrade to GdkPixbuf version 2.30.8 or later.

INFO: temporary GIMP configuration directory: gimp-git/mybuild/.GIMP3-build-config-b4d9dq
RUNNING: mybuild/app/gimp-console-3.2 -nidfs ../gimp-data/images/gimp-splash.xcf.xz --batch-interpreter python-fu-eval -b - --quit
Command failed with exit code 1: \[‘mybuild/app/gimp-console-3.2’, ‘-nidfs’, ‘../gimp-data/images/gimp-splash.xcf.xz’, ‘–batch-interpreter’, ‘python-fu-eval’, ‘-b’, ‘-’, ‘–quit’\]

— stderr —

ninja: build stopped: subcommand failed.

Hmm, i’m guessing this is a Linux distribution of some sort. Check whether you have more than one gdk-pixbuf version installed, and also look at the error logs in the build directory (in a directory called meson-logs).

Also, make sure you have the gimp-data sub-project checked out and up to date.

But do you also have GdkPixbuf 2.30.7 installed, as the error says? Did you compile GdkPixbuf 2.44.5 manually, maybe, and your distrib has version 2.30.7 in binary packages?

Bonus question: if GdkPixbuf 2.44.5 was installed manually, is it in the same prefix as the one you are installing GIMP in?

Thanks for your reply. I have gdk-pixbuf 2.44.5 installed. I also have gdk-pixbuf-xlib installed and that is version 2.40.2. There is no other gdk-pixbuf libraries on my system. The number 2.30.8 is referenced in the source code build files as the gdk-pixbuf minimum version. I tried unpickle-ing all the data (dat) files in meson-private to see what’s in them but found nothing obvious, so I am stumped for the time being.

Yes, it is in the same prefix.

In the gimp-data directory it has:

git branch:

  • (HEAD detached at 949e3cf)

git tag: GIMP_3_0_0_RC3

During the meson configure process the message “Run-time dependency gdk-pixbuf-2.0 found: YES 2.44.5” is output.

Well you clearly also have GdkPixbuf 2.30.7 installed and that is what GIMP loads from within the build directory.

Now maybe there is something we might be able to improve in our scripts, since the build configuration finds the newest GdkPixbuf, but to understand what’s happening, we need to know more.

I.e. you should search where is GdkPixbuf 2.30.7 installed, why you have both versions, etc. And then if you can describe your build process, and other details, it could help us make our build scripts more robust to extreme cases. Right now, there is not much we can do.

“you clearly also have GdkPixbuf 2.30.7 installed”. If so, I can’t seem to find any evidence of that and I’ve been looking everywhere. All my libraries are installed in /usr/lib64:

/usr/lib64/libgdk_pixbuf_xlib-2.0.so → libgdk_pixbuf_xlib-2.0.so.0
/usr/lib64/libgdk_pixbuf-2.0.so.0.4400.5
/usr/lib64/libgdk_pixbuf-2.0.so.0 → libgdk_pixbuf-2.0.so.0.4400.5
/usr/lib64/libgdk_pixbuf_xlib-2.0.so.0 → libgdk_pixbuf_xlib-2.0.so.0.4000.2
/usr/lib64/libgdk_pixbuf_xlib-2.0.so.0.4000.2

I’m still trying to think of more places to look.

I accidentally replied to the main thread. In short, I’ve been looking and can’t find where or how it’s thinking that I have gdk-pixbuf 2.30.7 is installed.

We have some “sanity checks” verifying various libraries at runtime. So it grabs data from the libraries themselves!

For GdkPixbuf, see app/sanity.c, line 357. It compares the extern constant variables gdk_pixbuf_major_version, gdk_pixbuf_minor_version and gdk_pixbuf_micro_version, which come from the GdkPixbuf library itself. If that says it is 2.30.7, then that’s what it is actually running, as far as we know.

My build process is I have a src directory in my home user directory. I have clone the gimp repository inside that directory. Inside the cloned directory I make a directory called mybuild. In the mybuild directory I execute a simple meson configuration:

SRC=../

BUILD=.

meson ${SRC} ${BUILD}
–wrap-mode=default
–pkg-config-path /usr/lib64/pkgconfig:/lib64/pkgconfig
–prefix /usr
–libdir /usr/lib64
–mandir /usr/share/man
–infodir /usr/share/info
–sysconfdir /etc
–localstatedir /var
–backend ninja
–buildtype debugoptimized
–default-library shared
}

Running the meson configure script.

The Meson build system
Version: 1.9.2
Source dir: /home/myuser/src/gimp-git
Build dir: /home/myuser/src/gimp-git/mybuild2
Build type: native build
Project name: gimp
Project version: 3.2.2
C compiler for the host machine: /usr/bin/x86_64-pc-linux-gnu-gcc (gcc 15.2.0 “x86_64-pc-linux-gnu-gcc (GCC) 15.2.0”)
C linker for the host machine: /usr/bin/x86_64-pc-linux-gnu-gcc ld.bfd 2.45
C++ compiler for the host machine: /usr/bin/x86_64-pc-linux-gnu-g++ (gcc 15.2.0 “x86_64-pc-linux-gnu-g++ (GCC) 15.2.0”)
C++ linker for the host machine: /usr/bin/x86_64-pc-linux-gnu-g++ ld.bfd 2.45
Host machine cpu family: x86_64
Host machine cpu: x86_64
../meson.build:134: WARNING: Module SIMD has no backwards or forwards compatibility and might not exist in future releases.
Message: Host machine cpu family: x86_64
Message: Host os: linux
Compiler for C supports arguments -mmmx: YES
Compiler for C supports arguments -msse: YES
Compiler for C supports arguments -msse2: YES
Compiler for C supports arguments -msse4.1: YES
Compiler for C supports arguments -fdiagnostics-show-option: YES
Compiler for C supports arguments -fno-common: YES
Compiler for C supports arguments -Wformat: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Wlogical-op: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-format-attribute: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wreturn-type: YES
Compiler for C supports arguments -Wtype-limits: YES
Compiler for C supports arguments -Wabsolute-value: YES
Compiler for C supports arguments -Wdeclaration-after-statement: YES
Compiler for C supports arguments -Wenum-conversion: YES
Compiler for C supports arguments -Wliteral-conversion: NO
Compiler for C supports arguments -Wno-strict-prototypes: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wparentheses-equality: NO
Compiler for C supports arguments -W#pragma-messages: NO
Compiler for C supports arguments -Wsometimes-uninitialized: NO
Compiler for C supports arguments -Wtautological-unsigned-enum-zero-compare: NO
Compiler for C supports arguments -Wunneeded-internal-declaration: NO
Compiler for C supports arguments -Wunused-function: YES
Compiler for C supports arguments -Wunused-value: YES
Compiler for C supports arguments -Werror=implicit-function-declaration: YES
Library m found: YES
Library dl found: YES
Found pkg-config: YES (/usr/bin/pkg-config) 0.29.2
Run-time dependency atk found: YES 2.60.0
Run-time dependency babl-0.1 found: YES 0.1.124
Run-time dependency cairo found: YES 1.18.4
Run-time dependency fontconfig found: YES 2.17.1
Run-time dependency freetype2 found: YES 26.5.20
Run-time dependency gdk-pixbuf-2.0 found: YES 2.44.5
Run-time dependency gegl-0.4 found: YES 0.4.70
Run-time dependency exiv2 found: YES 0.27.7
Run-time dependency gexiv2 found: YES 0.14.6
Run-time dependency gio-2.0 found: YES 2.86.4
Run-time dependency gio-unix-2.0 found: YES 2.86.4
Run-time dependency glib-2.0 found: YES 2.86.4
Run-time dependency gobject-introspection-1.0 found: YES 1.86.0
Run-time dependency gobject-2.0 found: YES 2.86.4
Run-time dependency gmodule-no-export-2.0 found: YES 2.86.4
Run-time dependency gtk±3.0 found: YES 3.24.52
Run-time dependency gdk-3.0 found: YES 3.24.52
Run-time dependency harfbuzz found: YES 12.3.0
Run-time dependency json-glib-1.0 found: YES 1.10.8
Run-time dependency lcms2 found: YES 2.15
Run-time dependency libmypaint found: YES 1.5.1
Run-time dependency mypaint-brushes-2.0 found: YES 2.0.2
Run-time dependency pango found: YES 1.56.4
Run-time dependency pangocairo found: YES 1.56.4
Run-time dependency pangoft2 found: YES 1.56.4
Checking if “pango is built with libthai support” with dependency pango runs: NO (1)
../meson.build:602: WARNING: Pango was not built with libthai support. Line breaking on Text tool may be incorrect on Thai language.
Run-time dependency librsvg-2.0 found: YES 2.61.4
Run-time dependency appstream found: YES 1.0.5
Run-time dependency libarchive found: YES 3.6.1
Library backtrace found: YES
Run-time dependency libunwind found: YES 1.8.2
Has header “execinfo.h” : YES
Library execinfo found: NO
Has header “execinfo.h” : YES (cached)
Run-time dependency x11 found: YES 1.8.13
Run-time dependency xmu found: YES 1.1.4
Run-time dependency xext found: YES 1.3.5
Run-time dependency xfixes found: YES 6.0.1
Has header “X11/Xmu/WinUtil.h” with dependencies xext, xmu: YES
Has header “X11/extensions/shape.h” with dependencies xext, xmu: YES
Checking for function “XmuClientWindow” with dependencies xext, xmu: YES
Checking for function “XShapeGetRectangles” with dependencies xext, xmu: YES
Has header “X11/extensions/shape.h” : YES (cached)
Has header “X11/Xmu/WinUtil.h” : YES (cached)
Run-time dependency libtiff-4 found: YES 4.6.0
Run-time dependency libjpeg found: YES 3.0.1
Run-time dependency zlib found: YES 1.3.1
Library bz2 found: YES
Run-time dependency liblzma found: YES 5.8.2
Library gs found: YES
Run-time dependency libpng found: YES 1.6.55
Run-time dependency libmng found: YES 2.0.3
Library aa found: NO
Run-time dependency xpm found: YES 3.5.17
Has header “qoi.h” : NO
Run-time dependency libiff found: YES 0.1
Found CMake: /usr/bin/cmake (3.31.9)
Run-time dependency libilbm found: NO (tried pkgconfig and cmake)
Has header “libilbm/ilbm.h” : NO
Run-time dependency openexr found: YES 3.1.11
Run-time dependency libwebp found: YES 1.6.0
Run-time dependency libwebpmux found: YES 1.6.0
Run-time dependency libwebpdemux found: YES 1.6.0
Run-time dependency libheif found: YES 1.19.8
Checking if “import HEIC” with dependency libheif runs: YES
Checking if “export HEIC” with dependency libheif runs: YES
Checking if “import AVIF” with dependency libheif runs: YES
Checking if “export AVIF” with dependency libheif runs: YES
Checking if “import HEJ2” with dependency libheif runs: NO (1)
Checking if “export HEJ2” with dependency libheif runs: NO (1)
Vala compiler for the host machine: valac (valac 0.57.0)
Library babl-0.1 found: YES
Run-time dependency poppler-glib found: YES 26.03.0
Run-time dependency poppler-data found: YES 0.4.12
Run-time dependency cairo-pdf found: YES 1.18.4
Run-time dependency libwmf found: YES 0.2.12
Run-time dependency libopenjp2 found: YES 2.5.0
Run-time dependency libjxl found: YES 0.11.1
Run-time dependency libjxl_threads found: YES 0.11.1
Run-time dependency xcursor found: YES 1.2.1
Run-time dependency alsa found: YES 1.2.15.3
Has header “linux/input.h” : YES
Run-time dependency gudev-1.0 found: YES 238
Run-time dependency cfitsio found: YES 4.6.3
Program xdg-email found: YES (/usr/bin/xdg-email)
Run-time dependency iso-codes found: YES 4.2
Program perl found: YES (/usr/bin/perl)
Program python (gi, cairo) found: YES (/usr/bin/python) modules: gi, cairo
Message: Found Python 3.14
Message: Found PyGObject: 3.56.2
Program gjs found: YES (/usr/bin/gjs)
Program xmllint found: YES (/usr/bin/xmllint)
Program xsltproc found: YES (/usr/bin/xsltproc)
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Program appstreamcli found: YES 1.0.5 1.0.5 (/usr/bin/appstreamcli)
Program g-ir-compiler found: YES (/usr/bin/g-ir-compiler)
Program gi-docgen found: YES (/usr/bin/gi-docgen)
Run-time dependency shared-mime-info found: YES 2.4
Program xvfb-run found: YES (/home/myuser/pc1lin-src/temp/gnome-47-updates/xvfb-run/xvfb-run)
Program dbus-run-session found: YES (/usr/bin/dbus-run-session)
Program tools/run_test_env.sh found: YES (/bin/sh /home/myuser/src/gimp-git/tools/run_test_env.sh)
Program tools/extract-vector-icon.sh found: YES (/home/myuser/src/gimp-git/tools/extract-vector-icon.sh)
Program tools/generate-news found: YES (/home/myuser/src/gimp-git/tools/generate-news)
Program tools/gimppath2svg.py found: YES (/home/myuser/src/gimp-git/tools/gimppath2svg.py)
Program tools/module-dependencies.py found: YES (/home/myuser/src/gimp-git/tools/module-dependencies.py)
Program tools/meson_install_subdir.py found: YES (/home/myuser/src/gimp-git/tools/meson_install_subdir.py)
Program tools/gimp-mkenums found: YES (/home/myuser/src/gimp-git/tools/gimp-mkenums)
Program /home/myuser/src/gimp-git/tools/meson-mkenums.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/tools/meson-mkenums.py)
Run-time dependency OpenMP found: YES 4.5
Checking for function “alloca” : YES
Checking for function “dcgettext” : YES
Checking for function “difftime” : YES
Checking for function “fsync” : YES
Checking for function “getaddrinfo” : YES
Checking for function “getnameinfo” : YES
Checking for function “gettext” : YES
Checking for function “mmap” : YES
Checking for function “rint” : YES
Checking for function “thr_self” : NO
Checking for function “vfork” : YES
Header “libintl.h” has symbol “bind_textdomain_codeset” : YES
Header “libintl.h” has symbol “vprintf” : NO
Has header “alloca.h” : YES
Has header “dlfcn.h” : YES
Has header “fcntl.h” : YES
Has header “ieeefp.h” : NO
Has header “inttypes.h” : YES
Has header “locale.h” : YES
Has header “math.h” : YES
Has header “memory.h” : YES
Has header “stdint.h” : YES
Has header “stdlib.h” : YES
Has header “string.h” : YES
Has header “strings.h” : YES
Has header “sys/param.h” : YES
Has header “sys/prctl.h” : YES
Has header “sys/select.h” : YES
Has header “sys/stat.h” : YES
Has header “sys/thr.h” : NO
Has header “sys/time.h” : YES
Has header “sys/times.h” : YES
Has header “sys/types.h” : YES
Has header “sys/wait.h” : YES
Has header “unistd.h” : YES
Has header “sys/mman.h” : YES
Has header “sys/ipc.h” : YES
Has header “sys/shm.h” : YES
Checking if “shmctl IPC_RMID allows subsequent attaches” runs: YES
Program git found: YES (/usr/bin/git)
Configuring INSTALL using configuration
Configuring config.h using configuration
Configuring gimpversion.h using configuration
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program meson-enumgen.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/pdb/meson-enumgen.py)
Program meson-pdbgen.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/pdb/meson-pdbgen.py)
Program meson-enumcode.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/pdb/meson-enumcode.py)
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Configuring gimp-release using configuration
Configuring gimprc using configuration
Program bash found: YES (/usr/bin/bash)
Run-time dependency bash-completion found: YES 2.16.0
Configuring gimp-3.2 using configuration
Configuring dockable-dialogs-menuitems.ui using configuration
Configuring dockable-menu.ui.in using configuration
Configuring app-dialogs-menuitems.ui using configuration
Configuring image-menu.ui.in using configuration
Dependency glib-2.0 found: YES 2.86.4 (cached)
Dependency librsvg-2.0 found: YES 2.61.4 (cached)
Configuring gimp-tool-cursors.gresource.xml using configuration
Configuring gimp-color-picker-cursors.gresource.xml using configuration
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring gimp-core-pixbufs.gresource.xml with command
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring gimp-icon-pixbufs.gresource.xml with command
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring gimp-core-pixbufs.gresource.xml with command
Configuring gimp-icon-pixbufs.gresource.xml with command
Dependency glib-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-genmarshal found: YES (/usr/bin/glib-genmarshal)
Dependency glib-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-genmarshal found: YES (/usr/bin/glib-genmarshal)
Dependency gobject-introspection-1.0 found: YES 1.86.0 (cached)
Dependency gobject-introspection-1.0 found: YES 1.86.0 (cached)
Program /usr/bin/g-ir-scanner found: YES (/usr/bin/g-ir-scanner)
Dependency gobject-introspection-1.0 found: YES 1.86.0 (cached)
Program /usr/bin/g-ir-compiler found: YES (/usr/bin/g-ir-compiler)
Program vapigen found: YES (/usr/bin/vapigen)
Program vapigen found: YES (/usr/bin/vapigen)
Program nm found: YES (/usr/x86_64-pc-linux-gnu/bin/nm)
Configuring org.gimp.extension.goat-exercises.metainfo.xml.in using configuration
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Program flex found: YES (/usr/bin/flex)
Program bison found: YES (/usr/bin/bison)
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring pagecurl-icons.gresource.xml with command
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring screenshot-icons.gresource.xml with command
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Dependency glib-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/glib-genmarshal found: YES (/usr/bin/glib-genmarshal)
Compiler supports sse2: YES
Dependency gio-2.0 found: YES 2.86.4 (cached)
Program /usr/bin/gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Compiler supports sse2: YES
Compiler supports sse2: YES
Compiler supports sse41: YES
Configuring gimp.desktop.in using configuration
Configuring org.gimp.GIMP.appdata.xml.in using configuration
Program test-appdata.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/desktop/test-appdata.py)
Program tools/in-build-gimp.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/tools/in-build-gimp.py)
Program /home/myuser/src/gimp-git/libgimp/tests/libgimp-run-python-test.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/libgimp/tests/libgimp-run-python-test.py)
Program ./libgimp-run-python-test.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/libgimp/tests/./libgimp-run-python-test.py)
Program ./libgimp-run-c-test.py found: YES (/usr/bin/python3 /home/myuser/src/gimp-git/libgimp/tests/./libgimp-run-c-test.py)
Configuring gimptool-3.2.1 using configuration
Configuring gimp-console-3.2.1 using configuration
Configuring gimp-3.2.1 using configuration
Configuring gimp-3.0.toml using configuration
Configuring gimp-ui-3.0.toml using configuration
Message: Extra Binaries:
gimp-console: true

Optional Features:
Check updates at startup: false
Language selection: true
Vector icons: true
Dr. Mingw (Win32): false
Relocatable Bundle: false
Default ICC directory (Linux): /usr/share/color/icc
Dashboard backtraces: detailed
Debug symbols format: native
Binary symlinks: true
OpenMP: true
Bash Completion: true (share/bash-completion/completions)

Optional Plug-Ins:
Ascii Art: false
Ghostscript: true
JPEG 2000: true
JPEG XL: true
MNG: true
OpenEXR: true
WebP: true
HEIC: import: true - export: true
AVIF: import: true - export: true
HEJ2: import: false - export: false
PDF (export): true
Print: true
Javascript plug-ins: true
Vala plug-ins: true
WMF: true
X11 Mouse Cursor: true
XPM: true
Quite-OK Image: false
Amiga IFF/ILBM: false
Email: true (/usr/bin/xdg-email)
FITS: true

Experimental Plug-Ins (discouraged except for developers):
Lua plug-ins: false

Unmaintained Plug-Ins (discouraged except for developers):
Help Browser: false
Webpage: false
TWAIN (Win32): false

Optional Modules:
ALSA (MIDI Input): true
Linux Input: true (GUdev support: true)
DirectInput (Win32): false

Tests:
Use xvfb-run true
Test appdata true

Documentation:
libgimp API Reference: true

Bug report URL: Sign in · GitLab
Message:
NOTE: if you plan on packaging GIMP for distribution, it is recommended
to override the bug report URL with option:
-Dbug-report-url=https://example.com/
so that you can filter packaging bugs from core bugs before reporting upstream.

../meson.build:2324: WARNING: Warnings occurred during configuration
../meson.build:2326: WARNING: Pango was not built with libthai support. Line breaking on Text tool may be incorrect on Thai language.
Build targets in project: 953

gimp 3.2.2

User defined options
backend : ninja
buildtype : debugoptimized
default_library: shared
infodir : /usr/share/info
libdir : /usr/lib64
localstatedir : /var
mandir : /usr/share/man
pkg_config_path: /usr/lib64/pkgconfig:/lib64/pkgconfig
prefix : /usr
sysconfdir : /etc
wrap_mode : default

Found ninja-1.12.1 at /usr/bin/ninja
WARNING: Running the setup command as meson [options] instead of meson setup [options] is ambiguous and deprecated.

do not use /usr as a prefix for your own build. the libraries you install will interfere with system libraries. I use $HOME/opt as a prefix, and have a shell script wrapper to run GIMP that sets LD_LIBRARY_PATH to $PREFIX/lib64:$PREFIX/lib

Thanks for the critical information. You’ve given me some more hints about where to look.

Evidently there are problems using gimp with gdk-pixbuf-2.44.5. I downgraded gdk-pixbuf to 2.40.0 and was able to build gimp. I installed it and gimp came up with some of the icons messed up. There appears to be trouble with displaying svg images but that’s another issue that is not important to me at the moment and is probably something at my end.

This is my guess. Gdk-pixbuf 2.44.5 is too new for gimp. In addition that version of gdk-pixbuf depends on glycin (I have glycin-2.1.1 installed). Glycin is based on rust. I think that one or more of the crates that get installed during the building of glycin are based on an older version of gdk-pixbuf and the sanity check finds that.

What Linux distribution do you use and what other tools (e.g., Nix, jhbuild,…) do you use to install/upgrade/downgrade packages and libraries? As far as we know (and the many different consumers of glycin and gdk-pixbuf), the current versions are perfectly buildable and usable from other projects like GIMP.

A library being “too new” for GIMP doesn’t mean anything unless there is clearly a bug in the library’s distribution method (unlikely for gdk-pixbuf) or the API is somehow incompatible (even more unlikely for gdk-pixbuf).

And it’s gdk-pixbuf that depends on glycin, not the other way around. Because of that the installation of glycin should not interfere with the installation of gdk-pixbuf.

tldr; we need more information about your particular setup. Without that we’re just doing wild guesses.

Yeah, as @barefootliam says, the main problem is not even that the system libs will interfere with GIMP libs (though this is true as well), it’s really the other way around. You can completely break your system by doing such a thing. Never install self-built software onto /usr/ prefix, nor any other prefix which your system would use for its packages.

That’s even one of the reasons why all package managers default to /usr/local/.

As suggested by Liam, if the software is only for you, then using a prefix under your $HOME is ideal. This way, you should not even need root access for installing. And you are sure you won’t mess with system libs.

I personally have GdkPixbuf 2.44.4 on my Fedora. I’m pretty sure that version 2.44.5 has no problem. And if by some bad luck, it indeed had, it would be a problem in GdkPixbuf itself, not in GIMP, as @HarryMichal says. Libs are not supposed to change their interface or behaviour on a whim on micro versions (or they should really advertize this properly and make necessary changes, such as lib file names and pkg-config names, etc. updates, allowing both old and new APIs to be installed side by side).

Anyway so far, I’m pretty sure this is not what is happening here, and nothing in your logs point to that by the way! As we said, the logs are only pointing to the fact that, at runtime, an older version of GdkPixbuf is being loaded.

There is clearly some kerfuffle in your libs, mixing versions, etc. And it is really very likely that your using /usr/ as prefix might be related to it.
And just to reiterate: this version we are printing does not come from GIMP code. It comes from the loaded code. And there is no reason whatsoever for GdkPixbuf 2.44.5 to pretend it is version 2.30.7! In fact, just grep these variables I listed in GdkPixbuf code, then follow the code. I just did, and can confirm they are generated from the meson.project_version() as set in the meson build (which I didn’t have much doubt about; but I still made a quick check on latest GdkPixbuf code so that I don’t say random stuff). But again, I may miss something, so if you are sure it’s not the case, that’s something you want to test in GdkPixbuf code itself, then they’ll appreciate your patch!

At this point, I’m not sure what to tell you. My advice would be to first restore your system files, but I’m not sure what is the proper way to do it, as I never had such a case (because you are not supposed to do what you did; ever). Basically you very likely overrode some system files by installing stuff in /usr/ and that may have bad side effects, even for other software.

Secondly from now on, once you restored things, you should always install your custom-built software on their own dedicated prefix, with environment variables properly set to point the build configuration to look at the right places.

Jehan, thanks for your attention, comments and advice. It is much appreciated.

I’ll summarize where I’m leaving off and I don’t expect any more help as the problems are clearly with my testbed setup. I’m summarizing at a top level, only for people in the community that might be curious.

The only recent gdk-pixbuf I have tried and can build Gimp (master, 3.2.2, and 3.2.0) against on this testbed I’m using is version 2.40.0. Gimp launches but the tools icons in the upper left corner, which seem to be svg format are all greyed out, but images can be loaded into the workspace and are displayed correctly.

Those same icon files be they png or svg can be displayed on this testbed with loupe or eog. If I use the package manager to update gdk-pixbuf to 2.42.12, 2.44.4 or 2.44.5 and then run gdk-pixbuf-query-loaders, Gimp refuses to run and gives the dreaded (to me):

GdkPixbuf version too old!

GIMP requires GdkPixbuf version 2.30.8 or later.
Installed GdkPixbuf version is 2.30.7.

Somehow you or your software packager managed
to install GIMP with an older GdkPixbuf version.

Please upgrade to GdkPixbuf version 2.30.8 or later.

Note that Gimp and Gdk-pixbuf package were built locally on “testbed” from cloned from Gitlab git repositories.