Bug#1075366: pcsxr: ftbfs with GCC-14

Patrice Duroux patrice.duroux at gmail.com
Fri Nov 15 20:12:42 GMT 2024


Package: pcsxr
Version: 1.9.94-6
Followup-For: Bug #1075366

Hi,

Here is a patch to solve those building issues.

Best regards,
Patrice


-- System Information:
Debian Release: trixie/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12-rc6-amd64 (SMP w/12 CPU threads; PREEMPT)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages pcsxr depends on:
ii  libc6                2.40-3
ii  libgdk-pixbuf-2.0-0  2.42.12+dfsg-1+b1
ii  libgl1               1.7.0-1+b2
ii  libglib2.0-0t64      2.82.2-2
ii  libgtk-3-0t64        3.24.43-4
ii  libpango-1.0-0       1.54.0+ds-3
ii  libsdl2-2.0-0        2.30.9+dfsg-1
ii  libx11-6             2:1.8.10-2
ii  libxext6             2:1.3.4-1+b2
ii  libxtst6             2:1.2.3-1.1+b2
ii  libxv1               2:1.0.11-1.1+b2
ii  libxxf86vm1          1:1.1.4-1+b3
ii  zlib1g               1:1.3.dfsg+really1.3.1-1+b1

pcsxr recommends no packages.

pcsxr suggests no packages.

-- no debconf information
-------------- next part --------------
diff --git a/debian/patches/g++14.patch b/debian/patches/g++14.patch
new file mode 100644
index 0000000..7ef5b95
--- /dev/null
+++ b/debian/patches/g++14.patch
@@ -0,0 +1,336 @@
+--- a/plugins/dfsound/spucfg-0.1df/main.c
++++ b/plugins/dfsound/spucfg-0.1df/main.c
+@@ -47,7 +47,7 @@
+ 
+ void OnConfigClose(GtkWidget *widget, gpointer user_data)
+ {
+-	gtk_widget_destroy(gtk_builder_get_object(builder, "CfgWnd"));
++	gtk_widget_destroy(GTK_WIDGET(gtk_builder_get_object(builder, "CfgWnd")));
+ 	exit(0);
+ }
+ 
+@@ -103,7 +103,7 @@
+ 			return 0;
+ 		}
+ 		
+-		MainWindow = gtk_builder_get_object(builder, "CfgWnd");
++		MainWindow = GTK_WIDGET(gtk_builder_get_object(builder, "CfgWnd"));
+ 
+ 		strcpy(cfg, CONFIG_FILENAME);
+ 
+@@ -222,11 +222,11 @@
+ 		if (pB)
+ 			free(pB);
+ 
+-		widget = gtk_builder_get_object(builder, "CfgWnd");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "CfgWnd"));
+ 		g_signal_connect_data(G_OBJECT(widget), "destroy",
+ 			G_CALLBACK(SaveConfig), builder, NULL, 0);
+ 
+-		widget = gtk_builder_get_object(builder, "btn_close");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "btn_close"));
+ 		g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 			G_CALLBACK(OnConfigClose), builder, NULL, G_CONNECT_AFTER);
+ 
+--- a/plugins/dfxvideo/gpucfg-0.1df/main.c
++++ b/plugins/dfxvideo/gpucfg-0.1df/main.c
+@@ -61,41 +61,41 @@
+ {
+ 	GtkWidget *check, *resCombo2;
+ 
+-	check = gtk_builder_get_object(builder, "checkFullscreen");
+-	resCombo2 = gtk_builder_get_object(builder, "resCombo2");
++	check = GTK_WIDGET(gtk_builder_get_object(builder, "checkFullscreen"));
++	resCombo2 = GTK_WIDGET(gtk_builder_get_object(builder, "resCombo2"));
+ 
+-	gtk_widget_set_sensitive(resCombo2, !gtk_toggle_button_get_active(check));
++	gtk_widget_set_sensitive(resCombo2, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check)));
+ }
+ 
+ void on_use_fixes_toggled(GtkWidget *widget, gpointer user_data)
+ {
+ 	GtkWidget *check, *table_fixes;
+-	check = gtk_builder_get_object(builder,"checkUseFixes");
++	check = GTK_WIDGET(gtk_builder_get_object(builder,"checkUseFixes"));
+ 
+-	table_fixes = gtk_builder_get_object(builder,"table_fixes");
++	table_fixes = GTK_WIDGET(gtk_builder_get_object(builder,"table_fixes"));
+ 
+ 	/* Set the state of each of the fixes to the value of the use fixes toggle */
+ 	gtk_container_foreach (GTK_CONTAINER (table_fixes), (GtkCallback) gtk_widget_set_sensitive,
+-		(gpointer)gtk_toggle_button_get_active (check));
++		(gpointer)gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(check)));
+ }
+ 
+ void on_fps_toggled(GtkWidget *widget, gpointer user_data)
+ {
+ 	GtkWidget *checkSetFPS, *checkAutoFPSLimit, *entryFPS;
+ 
+-	checkSetFPS = gtk_builder_get_object(builder, "checkSetFPS");
+-	checkAutoFPSLimit = gtk_builder_get_object(builder, "checkAutoFPSLimit");
+-	entryFPS = gtk_builder_get_object(builder, "entryFPS");
++	checkSetFPS = GTK_WIDGET(gtk_builder_get_object(builder, "checkSetFPS"));
++	checkAutoFPSLimit = GTK_WIDGET(gtk_builder_get_object(builder, "checkAutoFPSLimit"));
++	entryFPS = GTK_WIDGET(gtk_builder_get_object(builder, "entryFPS"));
+ 
+ 	gtk_widget_set_sensitive(entryFPS, 
+-							 gtk_toggle_button_get_active(checkSetFPS) && 
+-							 !gtk_toggle_button_get_active(checkAutoFPSLimit));
+-	gtk_widget_set_sensitive(checkAutoFPSLimit, gtk_toggle_button_get_active(checkSetFPS));
++							 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkSetFPS)) &&
++							 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkAutoFPSLimit)));
++	gtk_widget_set_sensitive(checkAutoFPSLimit, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkSetFPS)));
+ }
+ 
+ void OnConfigClose(GtkWidget *widget, gpointer user_data)
+ {
+-	gtk_widget_destroy(gtk_builder_get_object(builder, "CfgWnd"));
++	gtk_widget_destroy(GTK_WIDGET(gtk_builder_get_object(builder, "CfgWnd")));
+ 	exit(0);
+ }
+ 
+@@ -272,7 +272,7 @@
+ 			if(valf>500) valf=500;
+ 		}
+ 		sprintf(tempstr,"%.1f",valf);
+-		gtk_entry_set_text(gtk_builder_get_object(builder, "entryFPS"),tempstr);
++		gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(builder, "entryFPS")),tempstr);
+ 
+ 		val=0;
+ 		if(pB)
+@@ -300,27 +300,27 @@
+ 
+ 		if(pB) free(pB);
+ 
+-			widget = gtk_builder_get_object(builder, "CfgWnd");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "CfgWnd"));
+ 			g_signal_connect_data(G_OBJECT(widget), "destroy",
+ 					G_CALLBACK(SaveConfig), NULL, NULL, 0);
+ 
+-			widget = gtk_builder_get_object(builder, "btn_close");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "btn_close"));
+ 			g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 					G_CALLBACK(OnConfigClose), NULL, NULL, G_CONNECT_AFTER);
+ 
+-			widget = gtk_builder_get_object(builder, "checkFullscreen");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "checkFullscreen"));
+ 			g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 					G_CALLBACK(on_fullscreen_toggled), NULL, NULL, G_CONNECT_AFTER);
+ 
+-			widget = gtk_builder_get_object(builder, "checkUseFixes");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "checkUseFixes"));
+ 			g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 					G_CALLBACK(on_use_fixes_toggled), NULL, NULL, G_CONNECT_AFTER);
+ 
+-			widget = gtk_builder_get_object(builder, "checkSetFPS");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "checkSetFPS"));
+ 			g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 					G_CALLBACK(on_fps_toggled), NULL, NULL, G_CONNECT_AFTER);
+ 
+-			widget = gtk_builder_get_object(builder, "checkAutoFPSLimit");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "checkAutoFPSLimit"));
+ 			g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 					G_CALLBACK(on_fps_toggled), NULL, NULL, G_CONNECT_AFTER);
+ 
+@@ -422,7 +422,7 @@
+  SetCfgVal(pB,"\nUseFrameSkip",val);
+ 
+  //Framerate stored *10
+- val = atof(gtk_entry_get_text(gtk_builder_get_object(builder, "entryFPS"))) * 10;
++ val = atof(gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(builder, "entryFPS")))) * 10;
+  SetCfgVal(pB,"\nFrameRate",val);
+ 
+  val = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder,"checkUseFixes")));
+--- a/plugins/dfcdrom/cdrcfg-0.1df/main.c
++++ b/plugins/dfcdrom/cdrcfg-0.1df/main.c
+@@ -178,23 +178,23 @@
+ }
+ 
+ static void OnConfigExit(GtkWidget *widget, gpointer user_data) {
+-	widget = gtk_builder_get_object(builder, "cddev_comboboxentry");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "cddev_comboboxentry"));
+ 	strncpy(CdromDev, gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(widget)))), 255);
+ 	CdromDev[255] = '\0';
+ 
+-	widget = gtk_builder_get_object(builder, "readmode_combobox");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "readmode_combobox"));
+ 	ReadMode = gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
+ 
+-	widget = gtk_builder_get_object(builder, "subQ_button");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "subQ_button"));
+ 	UseSubQ = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ 
+-	widget = gtk_builder_get_object(builder, "spinCacheSize");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "spinCacheSize"));
+ 	CacheSize = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+ 
+-	widget = gtk_builder_get_object(builder, "spinCdrSpeed");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "spinCdrSpeed"));
+ 	CdrSpeed = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+ 
+-	widget = gtk_builder_get_object(builder, "comboSpinDown");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "comboSpinDown"));
+ 	SpinDown = gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
+ 
+ 	SaveConf();
+@@ -213,34 +213,34 @@
+ 		return 0;
+ 	}
+ 
+-	MainWindow = gtk_builder_get_object(builder, "CfgWnd");
++	MainWindow = GTK_WIDGET(gtk_builder_get_object(builder, "CfgWnd"));
+ 	gtk_window_set_title(GTK_WINDOW(MainWindow), _("CDR configuration"));
+ 
+-	widget = gtk_builder_get_object(builder, "CfgWnd");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "CfgWnd"));
+ 	g_signal_connect_data(G_OBJECT(widget), "delete_event",
+ 		G_CALLBACK(OnConfigExit), NULL, NULL, G_CONNECT_AFTER);
+ 
+-	widget = gtk_builder_get_object(builder, "cfg_closebutton");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "cfg_closebutton"));
+ 	g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 		G_CALLBACK(OnConfigExit), NULL, NULL, G_CONNECT_AFTER);
+ 
+-	widget = gtk_builder_get_object(builder, "cddev_comboboxentry");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "cddev_comboboxentry"));
+ 	fill_drives_list(widget);
+ 	gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(widget))), CdromDev);
+ 
+-	widget = gtk_builder_get_object(builder, "readmode_combobox");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "readmode_combobox"));
+ 	gtk_combo_box_set_active(GTK_COMBO_BOX(widget), ReadMode);
+ 
+-	widget = gtk_builder_get_object(builder, "subQ_button");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "subQ_button"));
+ 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), UseSubQ);
+ 
+-	widget = gtk_builder_get_object(builder, "spinCacheSize");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "spinCacheSize"));
+ 	gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), (float)CacheSize);
+ 
+-	widget = gtk_builder_get_object(builder, "spinCdrSpeed");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "spinCdrSpeed"));
+ 	gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), (float)CdrSpeed);
+ 
+-	widget = gtk_builder_get_object(builder, "comboSpinDown");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "comboSpinDown"));
+ 	gtk_combo_box_set_active(GTK_COMBO_BOX(widget), SpinDown);
+ 
+ 	gtk_widget_show(MainWindow);
+--- a/plugins/dfnet/gui.c
++++ b/plugins/dfnet/gui.c
+@@ -108,36 +108,36 @@
+ 		return 0;
+ 	}
+ 
+-	MainWindow = gtk_builder_get_object(builder, "dlgStart");
++	MainWindow = GTK_WIDGET(gtk_builder_get_object(builder, "dlgStart"));
+ 	gtk_window_set_title(GTK_WINDOW(MainWindow), _("NetPlay"));
+ 
+-	widget = gtk_builder_get_object(builder, "btnCopyIP");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "btnCopyIP"));
+ 	g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 		G_CALLBACK(OnCopyIP), NULL, NULL, G_CONNECT_AFTER);
+ 
+-	widget = gtk_builder_get_object(builder, "tbServerIP");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "tbServerIP"));
+ 	gtk_entry_set_text(GTK_ENTRY(widget), conf.ipAddress);
+ 
+-	widget = gtk_builder_get_object(builder, "tbPort");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "tbPort"));
+ 	sprintf(buf, "%d", conf.PortNum);
+ 	gtk_entry_set_text(GTK_ENTRY(widget), buf);
+ 
+ 	if (conf.PlayerNum == 1) {
+-		widget = gtk_builder_get_object(builder, "rbServer");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "rbServer"));
+ 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
+ 	} else {
+-		widget = gtk_builder_get_object(builder, "rbClient");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "rbClient"));
+ 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
+ 	}
+ 
+ 	if (gtk_dialog_run(GTK_DIALOG(MainWindow)) == GTK_RESPONSE_OK) {
+-		widget = gtk_builder_get_object(builder, "tbServerIP");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "tbServerIP"));
+ 		strcpy(conf.ipAddress, gtk_entry_get_text(GTK_ENTRY(widget)));
+ 
+-		widget = gtk_builder_get_object(builder, "tbPort");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "tbPort"));
+ 		conf.PortNum = atoi(gtk_entry_get_text(GTK_ENTRY(widget)));
+ 
+-		widget = gtk_builder_get_object(builder, "rbServer");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "rbServer"));
+ 		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) {
+ 			conf.PlayerNum = 1;
+ 		} else {
+--- a/plugins/bladesio1/gui.c
++++ b/plugins/bladesio1/gui.c
+@@ -128,44 +128,44 @@
+ 
+ 	settingsRead();
+ 
+-	MainWindow = gtk_builder_get_object(builder, "dlgStart");
++	MainWindow = GTK_WIDGET(gtk_builder_get_object(builder, "dlgStart"));
+ 	gtk_window_set_title(GTK_WINDOW(MainWindow), _("Link Cable Configuration"));
+ 
+-	widget = gtk_builder_get_object(builder, "btnCopyIP");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "btnCopyIP"));
+ 	g_signal_connect_data(G_OBJECT(widget), "clicked",
+ 		G_CALLBACK(OnCopyIP), NULL, NULL, G_CONNECT_AFTER);
+ 
+ 	switch(settings.player) {
+ 		case PLAYER_DISABLED:
+-			widget = gtk_builder_get_object(builder, "rbDisabled");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "rbDisabled"));
+ 			break;
+ 		case PLAYER_MASTER:
+-			widget = gtk_builder_get_object(builder, "rbServer");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "rbServer"));
+ 			break;
+ 		case PLAYER_SLAVE:
+-			widget = gtk_builder_get_object(builder, "rbClient");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "rbClient"));
+ 			break;
+ 	}
+ 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
+ 
+-	widget = gtk_builder_get_object(builder, "tbServerIP");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "tbServerIP"));
+ 	gtk_entry_set_text(GTK_ENTRY(widget), settings.ip);
+ 
+-	widget = gtk_builder_get_object(builder, "tbPort");
++	widget = GTK_WIDGET(gtk_builder_get_object(builder, "tbPort"));
+ 	gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), settings.port);
+ 
+ 	if(gtk_dialog_run(GTK_DIALOG(MainWindow)) == GTK_RESPONSE_OK) {
+-		widget = gtk_builder_get_object(builder, "tbServerIP");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "tbServerIP"));
+ 		strncpy(settings.ip, gtk_entry_get_text(GTK_ENTRY(widget)), sizeof(settings.ip) - 1);
+ 
+-		widget = gtk_builder_get_object(builder, "tbPort");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "tbPort"));
+ 		settings.port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+ 
+-		widget = gtk_builder_get_object(builder, "rbDisabled");
++		widget = GTK_WIDGET(gtk_builder_get_object(builder, "rbDisabled"));
+ 		if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+ 			settings.player = PLAYER_DISABLED;
+ 		else {
+-			widget = gtk_builder_get_object(builder, "rbServer");
++			widget = GTK_WIDGET(gtk_builder_get_object(builder, "rbServer"));
+ 			if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+ 				settings.player = PLAYER_MASTER;
+ 			else
+--- a/plugins/peopsxgl/gpu.c
++++ b/plugins/peopsxgl/gpu.c
+@@ -1091,7 +1091,7 @@
+ #if defined (_MACGL)
+    *disp = display;
+ #else
+-   *disp=(unsigned long *)display;                       // return display ID to main emu
++   *disp=(unsigned long)display;                       // return display ID to main emu
+ #endif
+   }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index c56f17f..b5572ed 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@
 10_cross.patch
 11_implicit-function-declaration.patch
 12_sdl-joystick.patch
+g++14.patch


More information about the Pkg-games-devel mailing list