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

Umang Jain umang.jain at ideasonboard.com
Mon May 31 10:29:18 CEST 2021


Hi Laurent,

Thanks for the patch.

On 5/30/21 5:24 AM, Laurent Pinchart wrote:
> 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',

Makes sense,

Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>

>   ]
>   
>   # The G_DECLARE_FINAL_TYPE macro creates static inline functions that were


More information about the libcamera-devel mailing list