Need help compiling GDK-Pixbuf

Hi, I am trying to compile GDK_Pixbuf, which is needed to update GTK+.

This is my recipe:

url="http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.8.tar.xz"
file_size=8503020
file_md5=5f90cf1f1b2b03b047c870da774a2aca
compile_version=1.8.0
recipe_type=meson
meson_variables=(
	--buildtype=release
	-D builtin_loaders=all
	-D installed_tests=false
)

But I am stuck on the build process with the following type of error:

Couldn?t recognize the image file format for file ?/Data/Compile/Sources/gdk-pixbuf-2.42.6/tests/icc-profile.png?

Full log:

Found ninja-1.9.0.git.kitware.dyndep-1.jobserver-1 at /System/Index/bin/ninja
[42/277] Generating gdk-pixbuf/gdk-pixbuf-marshal_c with a custom command
INFO: Reading ../gdk-pixbuf/gdk-pixbuf-marshal.list...
[64/277] Generating gdk-pixbuf/gdk-pixbuf-marshal_h with a custom command
INFO: Reading ../gdk-pixbuf/gdk-pixbuf-marshal.list...
[257/277] Generating tests/resources.c with a custom command
FAILED: tests/resources.c 
/usr/bin/python3.8 /Data/Compile/Sources/gdk-pixbuf-2.42.6/build-aux/gen-resources.py --glib-compile-resources=/System/Index/bin/glib-compile-resources --pixdata=/Data/Compile/Sources/gdk-pixbuf-2.42.6/_build/gdk-pixbuf/gdk-pixbuf-pixdata --loaders=/Data/Compile/Sources/gdk-pixbuf-2.42.6/_build/gdk-pixbuf/loaders.cache --sourcedir=/Data/Compile/Sources/gdk-pixbuf-2.42.6/tests --source ../tests/resources.gresource.xml tests/resources.c
failed to load "/Data/Compile/Sources/gdk-pixbuf-2.42.6/tests/icc-profile.png": Couldn?t recognize the image file format for file ?/Data/Compile/Sources/gdk-pixbuf-2.42.6/tests/icc-profile.png?
../tests/resources.gresource.xml: Child process exited with code 1.
[258/277] Generating tests/resources.h with a custom command
FAILED: tests/resources.h 
/usr/bin/python3.8 /Data/Compile/Sources/gdk-pixbuf-2.42.6/build-aux/gen-resources.py --glib-compile-resources=/System/Index/bin/glib-compile-resources --pixdata=/Data/Compile/Sources/gdk-pixbuf-2.42.6/_build/gdk-pixbuf/gdk-pixbuf-pixdata --loaders=/Data/Compile/Sources/gdk-pixbuf-2.42.6/_build/gdk-pixbuf/loaders.cache --sourcedir=/Data/Compile/Sources/gdk-pixbuf-2.42.6/tests --header ../tests/resources.gresource.xml tests/resources.h
failed to load "/Data/Compile/Sources/gdk-pixbuf-2.42.6/tests/icc-profile.png": Couldn?t recognize the image file format for file ?/Data/Compile/Sources/gdk-pixbuf-2.42.6/tests/icc-profile.png?
../tests/resources.gresource.xml: Child process exited with code 1.
[261/277] Generating gdk-pixbuf/GdkPixbuf-2.0.gir with a custom command
ninja: build stopped: subcommand failed.

I have made an issue report and forum post on the GNOME side, but they seem to be unwilling to help further.

It may have something to do with the “loaders.cache” file? I have no idea what that file is for though or how it should be handled.

Maybe somebody has more information on that.

Update: I talked to @nuc yesterday and this issue was fixed by unsetting the GDK_PIXBUF_MODULEDIR variable in the recipe:

environment=(
    GDK_PIXBUF_MODULEDIR=
)

By doing so, the build process won’t attempt to load modules compiled against an ancient version of the library.

2 Likes

Yep, exactly that did it :+1:

Happy to see that you have found the solution and then posted it here. Glad to be a part of such a helping community.

1 Like