The wireshark address.h header uses 'g_memdup2' but this triggers
warnings under clang due to the max version cap:
In file included from ../tools/wireshark/src/plugin.c:27:
In file included from /usr/include/wireshark/epan/proto.h:30:
In file included from /usr/include/wireshark/epan/packet_info.h:15:
/usr/include/wireshark/epan/address.h:107:18: error: 'g_memdup2' is deprecated: Not available before 2.68 [-Werror,-Wdeprecated-declarations]
107 | addr->priv = g_memdup2(&val, sizeof(val));
| ^
/usr/include/glib-2.0/glib/gstrfuncs.h:341:1: note: 'g_memdup2' has been explicitly marked deprecated here
341 | GLIB_AVAILABLE_IN_2_68
| ^
/usr/include/glib-2.0/glib/glib-visibility.h:771:32: note: expanded from macro 'GLIB_AVAILABLE_IN_2_68'
771 | #define GLIB_AVAILABLE_IN_2_68 GLIB_UNAVAILABLE (2, 68)
| ^
/usr/include/glib-2.0/glib/glib-visibility.h:32:35: note: expanded from macro 'GLIB_UNAVAILABLE'
32 | #define GLIB_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _GLIB_EXTERN
| ^
/usr/include/glib-2.0/glib/gmacros.h:1285:47: note: expanded from macro 'G_UNAVAILABLE'
1285 | #define G_UNAVAILABLE(maj,min) __attribute__((deprecated("Not available before " #maj "." #min)))
| ^
1 error generated.
It is unclear why clang warns, but gcc does not. Our plugin doesn't
actually use the inline helper in address.h that references g_memdup2,
but we get the warning regardless.
Interestingly removing the 'gmodule.h' include avoids the warning. Since
there is nothing in plugin.c that appears to need gmodule.h, removing it
should be safe & done regardless.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
tools/wireshark/src/plugin.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/tools/wireshark/src/plugin.c b/tools/wireshark/src/plugin.c
index 13af1b6a73..9a83f2ca07 100644
--- a/tools/wireshark/src/plugin.c
+++ b/tools/wireshark/src/plugin.c
@@ -12,8 +12,6 @@
#include <config.h>
-#include <gmodule.h>
-
#ifdef WITH_WS_VERSION
# include <wireshark/ws_version.h>
#else
--
2.46.0
On Tue, Oct 15, 2024 at 12:19:23 +0100, Daniel P. Berrangé wrote:
> The wireshark address.h header uses 'g_memdup2' but this triggers
> warnings under clang due to the max version cap:
>
> In file included from ../tools/wireshark/src/plugin.c:27:
> In file included from /usr/include/wireshark/epan/proto.h:30:
> In file included from /usr/include/wireshark/epan/packet_info.h:15:
> /usr/include/wireshark/epan/address.h:107:18: error: 'g_memdup2' is deprecated: Not available before 2.68 [-Werror,-Wdeprecated-declarations]
> 107 | addr->priv = g_memdup2(&val, sizeof(val));
> | ^
> /usr/include/glib-2.0/glib/gstrfuncs.h:341:1: note: 'g_memdup2' has been explicitly marked deprecated here
> 341 | GLIB_AVAILABLE_IN_2_68
> | ^
> /usr/include/glib-2.0/glib/glib-visibility.h:771:32: note: expanded from macro 'GLIB_AVAILABLE_IN_2_68'
> 771 | #define GLIB_AVAILABLE_IN_2_68 GLIB_UNAVAILABLE (2, 68)
> | ^
> /usr/include/glib-2.0/glib/glib-visibility.h:32:35: note: expanded from macro 'GLIB_UNAVAILABLE'
> 32 | #define GLIB_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _GLIB_EXTERN
> | ^
> /usr/include/glib-2.0/glib/gmacros.h:1285:47: note: expanded from macro 'G_UNAVAILABLE'
> 1285 | #define G_UNAVAILABLE(maj,min) __attribute__((deprecated("Not available before " #maj "." #min)))
> | ^
> 1 error generated.
>
> It is unclear why clang warns, but gcc does not. Our plugin doesn't
> actually use the inline helper in address.h that references g_memdup2,
> but we get the warning regardless.
>
> Interestingly removing the 'gmodule.h' include avoids the warning. Since
> there is nothing in plugin.c that appears to need gmodule.h, removing it
> should be safe & done regardless.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
> tools/wireshark/src/plugin.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/tools/wireshark/src/plugin.c b/tools/wireshark/src/plugin.c
> index 13af1b6a73..9a83f2ca07 100644
> --- a/tools/wireshark/src/plugin.c
> +++ b/tools/wireshark/src/plugin.c
> @@ -12,8 +12,6 @@
>
> #include <config.h>
>
> -#include <gmodule.h>
> -
> #ifdef WITH_WS_VERSION
> # include <wireshark/ws_version.h>
> #else
> --
> 2.46.0
>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
© 2016 - 2026 Red Hat, Inc.