Package: src:swt4-gtk Version: 4.29.0-1 Severity: important Tags: sid forky User: [email protected] Usertags: ftbfs-gcc-15
[This bug is NOT targeted to the upcoming trixie release] Please keep this issue open in the bug tracker for the package it was filed for. If a fix in another package is required, please file a bug for the other package (or clone), and add a block in this package. Please keep the issue open until the package can be built in a follow-up test rebuild. The package fails to build in a test rebuild on at least amd64 with gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The severity of this report will be raised before the forky release. The full build log can be found at: http://qa-logs.debian.net/2025/02/16/amd64exp/swt4-gtk_4.29.0-1_unstable_gccexp.log.gz The last lines of the build log are at the end of this report. To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly, or install the gcc, g++, gfortran, ... packages from experimental. apt-get -t=experimental install g++ GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS. Other Common build failures are new warnings resulting in build failures with -Werror turned on, or new/dropped symbols in Debian symbols files. For other C/C++ related build failures see the porting guide at http://gcc.gnu.org/gcc-15/porting_to.html [...] | ^ os_structs.c:51:27: error: assignment to ‘void (*)(GObject *)’ {aka ‘void (*)(struct _GObject *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types] 51 | lpStruct->dispose = (void (*)())(*env)->GetLongField(env, lpObject, GObjectClassFc.dispose); | ^ os_structs.c:52:28: error: assignment to ‘void (*)(GObject *)’ {aka ‘void (*)(struct _GObject *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types] 52 | lpStruct->finalize = (void (*)())(*env)->GetLongField(env, lpObject, GObjectClassFc.finalize); | ^ os_structs.c:53:47: error: assignment to ‘void (*)(GObject *, guint, GParamSpec **)’ {aka ‘void (*)(struct _GObject *, unsigned int, struct _GParamSpec **)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types] 53 | lpStruct->dispatch_properties_changed = (void (*)())(*env)->GetLongField(env, lpObject, GObjectClassFc.dispatch_properties_changed); | ^ os_structs.c:54:26: error: assignment to ‘void (*)(GObject *, GParamSpec *)’ {aka ‘void (*)(struct _GObject *, struct _GParamSpec *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types] 54 | lpStruct->notify = (void (*)())(*env)->GetLongField(env, lpObject, GObjectClassFc.notify); | ^ os_structs.c: In function ‘getGtkCellRendererClassFields’: os_structs.c:349:26: error: assignment to ‘void (*)(GtkCellRenderer *, cairo_t *, GtkWidget *, const GdkRectangle *, const GdkRectangle *, GtkCellRendererState)’ {aka ‘void (*)(struct _GtkCellRenderer *, struct _cairo *, struct _GtkWidget *, const struct _cairo_rectangle_int *, const struct _cairo_rectangle_int *, GtkCellRendererState)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types] 349 | lpStruct->render = (void(*)())(*env)->GetLongField(env, lpObject, GtkCellRendererClassFc.render); | ^ os_structs.c:354:39: error: assignment to ‘void (*)(GtkCellRenderer *, GtkWidget *, gint *, gint *)’ {aka ‘void (*)(struct _GtkCellRenderer *, struct _GtkWidget *, int *, int *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types] 354 | lpStruct->get_preferred_width = (void(*)())(*env)->GetLongField(env, lpObject, GtkCellRendererClassFc.get_preferred_width); | ^ os_structs.c: In function ‘getGtkWidgetClassFields’: os_structs.c:429:23: error: assignment to ‘void (*)(GtkWidget *)’ {aka ‘void (*)(struct _GtkWidget *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types] 429 | lpStruct->map = (void(*)())(*env)->GetLongField(env, lpObject, GtkWidgetClassFc.map); | ^ os_structs.c:430:33: error: assignment to ‘void (*)(GtkWidget *, GtkAllocation *)’ {aka ‘void (*)(struct _GtkWidget *, struct _cairo_rectangle_int *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types] 430 | lpStruct->size_allocate = (void(*)())(*env)->GetLongField(env, lpObject, GtkWidgetClassFc.size_allocate); | ^ make[2]: *** [make_linux.mak:151: os_structs.o] Error 1 os.c: In function ‘Java_org_eclipse_swt_internal_gtk_OS_Call__JJII’: os.c:10106:21: error: too many arguments to function ‘(jint (*)(void))arg0’; expected 0, have 3 10106 | rc = (jint)((jint (*)())arg0)(arg1, arg2, arg3); | ~^~~~~~~~~~~~~~~~~ ~~~~ os.c: In function ‘Java_org_eclipse_swt_internal_gtk_OS_Call__JJJ’: os.c:10118:21: error: too many arguments to function ‘(jint (*)(void))arg0’; expected 0, have 2 10118 | rc = (jint)((jint (*)())arg0)(arg1, arg2); | ~^~~~~~~~~~~~~~~~~ ~~~~ os.c: In function ‘Java_org_eclipse_swt_internal_gtk_OS_XCheckIfEvent’: os.c:10512:71: error: passing argument 3 of ‘XCheckIfEvent’ from incompatible pointer type [-Wincompatible-pointer-types] 10512 | rc = (jboolean)XCheckIfEvent((Display *)arg0, (XEvent *)arg1, (Bool (*)())arg2, (XPointer)arg3); | ^~~~~~~~~~~~~~~~ | | | int (*)(void) In file included from /usr/include/gtk-3.0/gdk/gdkx.h:30, from /usr/include/gtk-3.0/gtk/gtksocket.h:34, from /usr/include/gtk-3.0/gtk/gtkx.h:29, from os.h:60, from os_structs.h:19, from os.c:20: /usr/include/X11/Xlib.h:2105:5: note: expected ‘int (*)(Display *, XEvent *, char *)’ but argument is of type ‘int (*)(void)’ 2105 | Bool (*) ( | ^ os.c: In function ‘Java_org_eclipse_swt_internal_gtk_OS_call__JJJJJ’: os.c:10724:22: error: too many arguments to function ‘(jlong (*)(void))arg0’; expected 0, have 4 10724 | rc = (jlong)((jlong (*)())arg0)(arg1, arg2, arg3, arg4); | ~^~~~~~~~~~~~~~~~~~ ~~~~ os.c: In function ‘Java_org_eclipse_swt_internal_gtk_OS_call__JJJJJJJ’: os.c:10736:22: error: too many arguments to function ‘(jlong (*)(void))arg0’; expected 0, have 6 10736 | rc = (jlong)((jlong (*)())arg0)(arg1, arg2, arg3, arg4, arg5, arg6); | ~^~~~~~~~~~~~~~~~~~ ~~~~ os.c: In function ‘Java_org_eclipse_swt_internal_gtk_OS_call__JJJJJJJJ’: os.c:10748:22: error: too many arguments to function ‘(jlong (*)(void))arg0’; expected 0, have 7 10748 | rc = (jlong)((jlong (*)())arg0)(arg1, arg2, arg3, arg4, arg5, arg6, arg7); | ~^~~~~~~~~~~~~~~~~~ ~~~~ make[2]: *** [make_linux.mak:149: os.o] Error 1 make[2]: Leaving directory '/build/reproducible-path/swt4-gtk-4.29.0/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library' dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" -C "bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library" "-I../../../Eclipse SWT/common/library/" -f make_linux.mak make_atk make_awt make_cairo make_glx make_swt make_webkit make_swtpi returned exit code 2 make[1]: *** [debian/rules:37: override_dh_auto_build] Error 25 make[1]: Leaving directory '/build/reproducible-path/swt4-gtk-4.29.0' make: *** [debian/rules:27: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 __ This is the maintainer address of Debian's Java team <https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-java-maintainers>. Please use [email protected] for discussions and questions.
