[Buildroot] [PATCH 1/1] package/gstreamer1/gstreamer1-mm: fix build with libglib 2.68

Arnout Vandecappelle arnout at mind.be
Fri Sep 3 18:53:52 UTC 2021



On 02/09/2021 18:42, Fabrice Fontaine wrote:
> Fix the following build failure raised since bump of libglib2 to version
> 2.68.1 in commit c72524fb1b1c6b7dd1b1f511eea0fdf5a39dd3a0:
> 
> ../gstreamer/gstreamermm/register.h: In function 'GType Gst::register_mm_type(const gchar*)':
> /home/buildroot/autobuild/run/instance-2/output-1/host/bin/../arm-buildroot-linux-gnueabihf/sysroot/usr/include/glib-2.0/glib/gatomic.h:117:19: error: argument 2 of '__atomic_load' must not be a pointer to a 'volatile' type
>   117 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
>       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/1c75cdcc183642fd4c15d56825848b83f2ad11a5
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>

 Applied to master, thanks.

 Regards,
 Arnout

> ---
>  .../0001-Fix-build-against-glib-2-68.patch    | 44 +++++++++++++++++++
>  1 file changed, 44 insertions(+)
>  create mode 100644 package/gstreamer1/gstreamer1-mm/0001-Fix-build-against-glib-2-68.patch
> 
> diff --git a/package/gstreamer1/gstreamer1-mm/0001-Fix-build-against-glib-2-68.patch b/package/gstreamer1/gstreamer1-mm/0001-Fix-build-against-glib-2-68.patch
> new file mode 100644
> index 0000000000..3ffdbb9cbf
> --- /dev/null
> +++ b/package/gstreamer1/gstreamer1-mm/0001-Fix-build-against-glib-2-68.patch
> @@ -0,0 +1,44 @@
> +From 0c0b5f8cef3b1f0a06f56c34340e210e0f23d1b0 Mon Sep 17 00:00:00 2001
> +From: Dominique Leuenberger <dimstar at opensuse.org>
> +Date: Tue, 13 Jul 2021 10:32:30 +0000
> +Subject: [PATCH] Fix build against glib 2.68
> +
> +volatile has been misused in the past
> +
> +[Retrieved from:
> +https://gitlab.gnome.org/GNOME/gstreamermm/-/merge_requests/4]
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +---
> + gstreamer/gstreamermm/register.h                    | 2 +-
> + tests/integration/test-integration-seekonstartup.cc | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/gstreamer/gstreamermm/register.h b/gstreamer/gstreamermm/register.h
> +index db66d172..a7ab3a63 100644
> +--- a/gstreamer/gstreamermm/register.h
> ++++ b/gstreamer/gstreamermm/register.h
> +@@ -110,7 +110,7 @@ register_mm_type(const gchar * type_name)
> +     /* The typedef for GType may be gulong or gsize, depending on the
> +      * system and whether the compiler is c++ or not. The g_once_init_*
> +      * functions always take a gsize * though ... */
> +-    static volatile gsize gonce_data = 0;
> ++    static gsize gonce_data = 0;
> +     if (g_once_init_enter (&gonce_data)) {
> +         GTypeInfo info;
> + 
> +diff --git a/tests/integration/test-integration-seekonstartup.cc b/tests/integration/test-integration-seekonstartup.cc
> +index 247ac499..cd43a125 100644
> +--- a/tests/integration/test-integration-seekonstartup.cc
> ++++ b/tests/integration/test-integration-seekonstartup.cc
> +@@ -18,7 +18,7 @@ RefPtr<Glib::MainLoop> mainloop;
> + RefPtr<Bus> bus;
> + RefPtr<Pipeline> pipeline;
> + RefPtr<Pad> sink_pad;
> +-static volatile gint counter;
> ++static gint counter;
> + bool prerolled = false;
> + gboolean was_check = 0;
> + 
> +-- 
> +GitLab
> +
> 


More information about the buildroot mailing list