Control: reassign -1 libgstreamermm-1.0-dev 1.10.0+dfsg-3 Control: forwarded -1 https://gitlab.gnome.org/GNOME/gstreamermm/-/issues/11 Control: tags -1 + patch Control: affects -1 + lordsawar
On Sat, 23 Oct 2021 at 21:18:06 +0200, Lucas Nussbaum wrote: > Source: lordsawar ... > During a rebuild of all packages in sid, your package failed to build > on amd64. ... > > /usr/include/gstreamermm-1.0/gstreamermm/register.h: In function ‘GType > > Gst::register_mm_type(const gchar*)’: > > /usr/include/glib-2.0/glib/gatomic.h:113:19: error: argument 2 of > > ‘__atomic_load’ must not be a pointer to a ‘volatile’ type > > 113 | __atomic_load (gapg_temp_atomic, &gapg_temp_newval, > > __ATOMIC_SEQ_CST); \ > > | > > ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > /usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro > > ‘g_atomic_pointer_get’ > > 260 | (!g_atomic_pointer_get (location) && > > \ > > | ^~~~~~~~~~~~~~~~~~~~ > > /usr/include/gstreamermm-1.0/gstreamermm/register.h:114:9: note: in > > expansion of macro ‘g_once_init_enter’ > > 114 | if (g_once_init_enter (&gonce_data)) { This looks like a gstreamermm-1.0 bug triggered by the switch to gcc 11, which is increasingly strict about not using 'volatile' in places where it isn't useful, or by the switch to GLib 2.68, which avoids using 'volatile' in inappropriate places. This would maybe also make the gstreamermm-1.0 tests fail to build, but they're disabled in Debian. The tl;dr version is that passing a 'volatile gsize *' to g_once_init_enter() is no longer allowed: it must be an ordinary non-volatile 'gsize *'. I suspect that applying the change from https://gitlab.gnome.org/GNOME/gstreamermm/-/merge_requests/4 in gstreamermm-1.0 would allow lordsawar to be built successfully against it (test-builds in progress). smcv