Build failure in script-fu with GCC14 due to incompatible pointer types: Expected GimpRGB but got SFColorType
Environment/Versions
- GIMP version: git master at 967e352d; also updated babl and gegl; in a fresh checkout
- Operating System: Fedora Linux 40
[...]
FAILED: plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-register.c.o
cc -Iplug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p -Iplug-ins/script-fu/libscriptfu -I../plug-ins/script-fu/libscriptfu -I. -I.. -Iapp -I../app -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libxml2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/webp -I/usr/include/libmount -I/usr/include/blkid -I/home/ak/coding/gimp299install/include/gegl-0.4 -I/usr/include/gio-unix-2.0 -I/usr/include/json-glib-1.0 -I/home/ak/coding/gimp299install/include/babl-0.1 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cloudproviders -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/libei-1.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/fribidi -I/usr/include/gobject-introspection-1.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -Wabsolute-value -Wdeclaration-after-statement -Wenum-conversion -Wno-strict-prototypes -Wold-style-definition -Wunused-function -Wunused-value -Werror=implicit-function-declaration -fdiagnostics-show-option -fno-common -Wformat -Wformat-security -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-format-attribute -Wpointer-arith -Wreturn-type -Wtype-limits -DHAVE_CONFIG_H -fPIC -pthread -DWITH_GZFILEOP '-DG_LOG_DOMAIN="scriptfu"' -DSTANDALONE=0 -DUSE_INTERFACE=1 -DUSE_STRLWR=0 -MD -MQ plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-register.c.o -MF plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-register.c.o.d -o plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-register.c.o -c ../plug-ins/script-fu/libscriptfu/script-fu-register.c
../plug-ins/script-fu/libscriptfu/script-fu-register.c: In function ‘script_fu_parse_default_spec’:
../plug-ins/script-fu/libscriptfu/script-fu-register.c:167:37: error: passing argument 1 of ‘gimp_rgb_parse_css’ from incompatible pointer type [-Wincompatible-pointer-types]
167 | if (! gimp_rgb_parse_css (&arg->default_value.sfa_color,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| SFColorType * {aka struct _GeglColor *}
In file included from ../libgimpcolor/gimpcolor.h:37,
from ../libgimp/gimp.h:31,
from ../plug-ins/script-fu/libscriptfu/script-fu-register.c:27:
../libgimpcolor/gimprgb.h:114:52: note: expected ‘GimpRGB *’ {aka ‘struct _GimpRGB *’} but argument is of type ‘SFColorType *’ {aka ‘struct _GeglColor *’}
114 | gboolean gimp_rgb_parse_css (GimpRGB *rgb,
| ~~~~~~~~~~~~~~~^~~
../plug-ins/script-fu/libscriptfu/script-fu-register.c:172:31: error: passing argument 1 of ‘gimp_rgb_set_alpha’ from incompatible pointer type [-Wincompatible-pointer-types]
172 | gimp_rgb_set_alpha (&arg->default_value.sfa_color, 1.0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| SFColorType * {aka struct _GeglColor *}
../libgimpcolor/gimprgb.h:89:52: note: expected ‘GimpRGB *’ {aka ‘struct _GimpRGB *’} but argument is of type ‘SFColorType *’ {aka ‘struct _GeglColor *’}
89 | void gimp_rgb_set_alpha (GimpRGB *rgb,
| ~~~~~~~~~~~~~~~^~~
../plug-ins/script-fu/libscriptfu/script-fu-register.c:187:31: error: passing argument 1 of ‘gimp_rgb_set_uchar’ from incompatible pointer type [-Wincompatible-pointer-types]
187 | gimp_rgb_set_uchar (&arg->default_value.sfa_color, r, g, b);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| SFColorType * {aka struct _GeglColor *}
../libgimpcolor/gimprgb.h:99:52: note: expected ‘GimpRGB *’ {aka ‘struct _GimpRGB *’} but argument is of type ‘SFColorType *’ {aka ‘struct _GeglColor *’}
99 | void gimp_rgb_set_uchar (GimpRGB *rgb,
| ~~~~~~~~~~~~~~~^~~
[1292/2554] Compiling C object plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-arg.c.o
FAILED: plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-arg.c.o
cc -Iplug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p -Iplug-ins/script-fu/libscriptfu -I../plug-ins/script-fu/libscriptfu -I. -I.. -Iapp -I../app -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libxml2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/webp -I/usr/include/libmount -I/usr/include/blkid -I/home/ak/coding/gimp299install/include/gegl-0.4 -I/usr/include/gio-unix-2.0 -I/usr/include/json-glib-1.0 -I/home/ak/coding/gimp299install/include/babl-0.1 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cloudproviders -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/libei-1.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/fribidi -I/usr/include/gobject-introspection-1.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -Wabsolute-value -Wdeclaration-after-statement -Wenum-conversion -Wno-strict-prototypes -Wold-style-definition -Wunused-function -Wunused-value -Werror=implicit-function-declaration -fdiagnostics-show-option -fno-common -Wformat -Wformat-security -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-format-attribute -Wpointer-arith -Wreturn-type -Wtype-limits -DHAVE_CONFIG_H -fPIC -pthread -DWITH_GZFILEOP '-DG_LOG_DOMAIN="scriptfu"' -DSTANDALONE=0 -DUSE_INTERFACE=1 -DUSE_STRLWR=0 -MD -MQ plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-arg.c.o -MF plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-arg.c.o.d -o plug-ins/script-fu/libscriptfu/libgimp-scriptfu-3.0.so.0.9900.19.p/script-fu-arg.c.o -c ../plug-ins/script-fu/libscriptfu/script-fu-arg.c
../plug-ins/script-fu/libscriptfu/script-fu-arg.c: In function ‘script_fu_arg_append_repr_from_self’:
../plug-ins/script-fu/libscriptfu/script-fu-arg.c:621:29: error: passing argument 1 of ‘gimp_rgb_get_uchar’ from incompatible pointer type [-Wincompatible-pointer-types]
621 | gimp_rgb_get_uchar (&arg_value->sfa_color, &r, &g, &b);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| SFColorType * {aka struct _GeglColor *}
In file included from ../libgimpcolor/gimpcolor.h:37,
from ../libgimp/gimp.h:31,
from ../plug-ins/script-fu/libscriptfu/script-fu-arg.c:22:
../libgimpcolor/gimprgb.h:103:52: note: expected ‘const GimpRGB *’ {aka ‘const struct _GimpRGB *’} but argument is of type ‘SFColorType *’ {aka ‘struct _GeglColor *’}
103 | void gimp_rgb_get_uchar (const GimpRGB *rgb,
| ~~~~~~~~~~~~~~~^~~
[1298/2554] Compiling C object plug-ins/script-fu/server/script-fu-server.p/script-fu-server.c.o
ninja: build stopped: subcommand failed.
ak@ac:~/coding/gimp299/gimp/_build$ rpm -q gcc
gcc-14.0.1-0.7.fc40.x86_64