[libcamera-devel] [PATCH] gst: Fix compilation warning with GLib >= 2.62

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun May 30 01:54:10 CEST 2021


GLib 2.62 has deprecated g_memdup(), which is used inline in GStreamer's
gstbytereader.h header. This results in a compilation warning:

In file included from /usr/include/gstreamer-1.0/gst/base/base.h:35,
                 from ../../src/gstreamer/gstlibcamerasrc.cpp:39:
/usr/include/gstreamer-1.0/gst/base/gstbytereader.h: In function ‘guint8* gst_byte_reader_dup_data_unchecked(GstByteReader*, guint)’:
/usr/include/gstreamer-1.0/gst/base/gstbytereader.h:365:41: error: ‘void* g_memdup(gconstpointer, guint)’ is deprecated: Use 'g_memdup2' instead [-Werror=deprecated-declarations]
  365 |   return (guint8 *) g_memdup (data, size);

GLib has a mechanism to silence warnings introduced in newer versions,
to allow compilation without warnings on multiple versions of the
library. This is done by setting the GLIB_VERSION_MIN_REQUIRED macro to
the minimum GLib version required.

As we depend on GStreamer >= 1.14, set the minimum GLib version to 2.40.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/gstreamer/meson.build | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
index 8cc811f84c8a..4d3afee48737 100644
--- a/src/gstreamer/meson.build
+++ b/src/gstreamer/meson.build
@@ -28,6 +28,7 @@ libcamera_gst_sources = [
 libcamera_gst_cpp_args = [
     '-DVERSION="@0@"'.format(libcamera_git_version),
     '-DPACKAGE="@0@"'.format(meson.project_name()),
+    '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40',
 ]
 
 # The G_DECLARE_FINAL_TYPE macro creates static inline functions that were
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list