[PATCH 4/5] wireshark: drop gmodule.h include to avoid glib warnings

Daniel P. Berrangé posted 5 patches 1 year, 3 months ago
[PATCH 4/5] wireshark: drop gmodule.h include to avoid glib warnings
Posted by Daniel P. Berrangé 1 year, 3 months ago
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
Re: [PATCH 4/5] wireshark: drop gmodule.h include to avoid glib warnings
Posted by Peter Krempa 1 year, 3 months ago
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>