Wireshark-dev: Re: [Wireshark-dev] Wireshark no longer builds on SuSE 11.3
From: Jaap Keuter <jaap.keuter@xxxxxxxxx>
Date: Wed, 15 Feb 2017 13:20:12 +0100
Hi,

As this seems simple enough, and saves us from raising the bar on GLIB_MINIMUM_VERSION I’ll see to it that the offending code is replaced by the implementation listed.
Just give me a second or two, okay? ;)

Thanks,
Jaap

On 14 Feb 2017, at 13:57, Anders Broman <anders.broman@xxxxxxxxxxxx> wrote:

Hi,
The code is simple enough (from glib-2.42.2 ).
**
* g_list_free_full:
* @list: a pointer to a #GList
* @free_func: the function to be called to free each element's data
*
* Convenience method, which frees all the memory used by a #GList,
* and calls @free_func on every element's data.
*
* Since: 2.28
*/
void
g_list_free_full (GList          *list,
                  GDestroyNotify  free_func)
{
  g_list_foreach (list, (GFunc) free_func, NULL);
  g_list_free (list);
}
 
To provide the function for systems not having it, Evan didn’t like the function cast though even though it’s used by glib.
 
As for dropping SuSE 11.3 it’s perhaps time…
 
Regards
Anders
 
From: wireshark-dev-bounces@xxxxxxxxxxxxx [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Roland Knall
Sent: den 14 februari 2017 13:47
To: Developer support list for Wireshark <wireshark-dev@xxxxxxxxxxxxx>
Subject: Re: [Wireshark-dev] Wireshark no longer builds on SuSE 11.3
 
I was hoping to say, let's drop SuSE 11.3, as SuSE 11.4 has glib version 2.28, which includes the function. Also ReadHat 5 drops support by the end of next month. But SLES still supports it until 2019.
 
As for the convenience method, I would not provide a compatibility header, as this would require additional checks and defines. Just hardcode the functionality in this case, although it seems to be a burden. An utility function which masks the compatibility could also be a possible solution. In extcap I came across this issue quite some time, and most of the time I ended up hardcoding the functionality.
 
regards
Roland
 
On Tue, Feb 14, 2017 at 1:28 PM, Peter Wu <peter@xxxxxxxxxxxxx> wrote:
On Tue, Feb 14, 2017 at 12:14:24PM +0000, Anders Broman wrote:
> Hi,
> Wireshark no longer builds on SuSE 11.3
>
> home/ericsson/ewireshark/trunk/filter_files.c:104: undefined reference to `g_list_free_full'
> /home/ericsson/ewireshark/trunk/filter_files.c:105: undefined reference to `g_list_free_full'
> /home/ericsson/ewireshark/trunk/filter_files.c:106: undefined reference to `g_list_free_full'
> /home/ericsson/ewireshark/trunk/filter_files.c:107: undefined reference to `g_list_free_full'
> ui/gtk/libgtkui.a(dfilter_expr_dlg.o): In function `value_list_sel_cb':
> /home/ericsson/ewireshark/trunk/ui/gtk/dfilter_expr_dlg.c:625: undefined reference to `g_list_free_full'

This function is very useful and open-coded many times, should we
provide a compatibility header for older GLib?
--
Kind regards,
Peter Wu
https://lekensteyn.nl