On Thu, Dec 11, 2008 at 6:02 AM, Dejan Muhamedagic <[EMAIL PROTECTED]>wrote:
> Hi, > > On Wed, Dec 10, 2008 at 09:40:56PM -0500, Davin Flatten wrote: > > 2008/12/10 Dejan Muhamedagic <[EMAIL PROTECTED]> > > > > > Hi, > > > > > > On Sun, Dec 07, 2008 at 03:47:26PM -0500, Davin Flatten wrote: > > > > Hello- > > > > > > > > Let me preface this post saying I am not a C programming expert. I > am > > > > working on setting up an environment to do some pacemaker GUI > > > development. > > > > I am using the tip of the Heartbeat dev Mercurial repository. My > > > platform > > > > is CentOS 5.2. > > > > > > > > There seems to be a pointer definition inconsistancy in the pils > library > > > > that is causing warnings on the build, and thus errors. It seems > that > > > the > > > > definition of PILPluginImportSet using g_malloc when the > PILPluginImports > > > > defintion using the standard alloc definition. This is also true for > the > > > > mrealloc definition below. > > > > > > > > I changed the defintions to use the glib2.0 format and that fixed the > > > > problem, but I am unsure if this might break builds on other > platforms. > > > > Either way attached is the diff of the changes I made if you wish to > > > apply > > > > them. > > > > > > > > P.S. A warning/error is also created by tools/send_arp.linux.c by not > > > > declaring const on the char *device="eth0" declaration. > > > > > > The patch you supplied didn't work on opensuse 11.0. Could you > > > try the one attached here. > > > > > > Thanks, > > > > > > Dejan > > > > > > > Thanks! > > > > Davin Flatten > > > > > > > > > > _______________________________________________________ > > > > Linux-HA-Dev: [email protected] > > > > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > > > > Home Page: http://linux-ha.org/ > > > > > > > > > _______________________________________________________ > > > Linux-HA-Dev: [email protected] > > > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > > > Home Page: http://linux-ha.org/ > > > > > > > > Dejan- > > > > Looks like the definitions of g_malloc and g_realloc changes from minor > > version 14 -> 16. Redhat 5.2 uses the 2.12.3 so using the gsize format > > doesn't compile. I added some preprocessor directives to define these > areas > > of code correctly depending on the glib version. Does this patch work > for > > you? > > Yes, it does. Though it'd be better to create an extra header > to hide #ifdefs of the glib type du jour from the code. > > Cheers, > > Dejan > > > Thanks! > > Davin > > > diff -r f343aa2db1a4 include/pils/plugin.h.in > > --- a/include/pils/plugin.h.in Wed Dec 10 17:25:09 2008 +0100 > > +++ b/include/pils/plugin.h.in Wed Dec 10 21:34:16 2008 -0500 > > @@ -442,9 +442,14 @@ > > , void* plugin_private); > > > > void (*log) (PILLogLevel priority, const char * fmt, ...); > > - void* (*alloc)(size_t size); > > - void* (*mrealloc)(void * ptr, size_t size); > > - void (*mfree)(void* space); > > +#if GLIB_MINOR_VERSION <= 14 > > + gpointer (*alloc)(gulong size); > > + gpointer (*mrealloc)(gpointer space, gulong size); > > +#else > > + gpointer (*alloc)(gsize size); > > + gpointer (*mrealloc)(gpointer space, gsize size); > > +#endif > > + void (*mfree)(gpointer space); > > char* (*mstrdup)(const char *s); > > }; > > > > @@ -465,8 +470,13 @@ > > > > /* Change memory allocation functions right after creating universe */ > > void PilPluginUnivSetMemalloc(PILPluginUniv* > > -, void* (*alloc)(size_t size) > > -, void* (*mrealloc)(void *, size_t size) > > +#if GLIB_MINOR_VERSION <= 14 > > +, gpointer (*alloc)(gulong size) > > +, gpointer (*mrealloc)(gpointer, gulong size) > > +#else > > +, gpointer (*alloc)(gsize size) > > +, gpointer (*mrealloc)(gpointer, gsize size) > > +#endif > > , void (*mfree)(void* space) > > , char* (*mstrdup)(const char *s)); > > > > diff -r f343aa2db1a4 lib/pils/pils.c > > --- a/lib/pils/pils.c Wed Dec 10 17:25:09 2008 +0100 > > +++ b/lib/pils/pils.c Wed Dec 10 21:34:16 2008 -0500 > > @@ -492,8 +492,13 @@ > > /* Change memory allocation functions immediately after creating > universe */ > > void > > PilPluginUnivSetMemalloc(PILPluginUniv* u > > -, void* (*allocfun)(size_t size) > > -, void* (*reallocfun)(void * ptr, size_t size) > > +#if GLIB_MINOR_VERSION <= 14 > > +, gpointer (*allocfun)(gulong size) > > +, gpointer (*reallocfun)(gpointer ptr, gulong size) > > +#else > > +, gpointer (*allocfun)(gsize size) > > +, gpointer (*reallocfun)(gpointer ptr, gsize size) > > +#endif > > , void (*freefun)(void* space) > > , char* (*strdupfun)(const char *s)) > > { > > diff -r f343aa2db1a4 tools/send_arp.linux.c > > --- a/tools/send_arp.linux.c Wed Dec 10 17:25:09 2008 +0100 > > +++ b/tools/send_arp.linux.c Wed Dec 10 21:34:16 2008 -0500 > > @@ -35,7 +35,7 @@ > > static void usage(void) __attribute__((noreturn)); > > > > int quit_on_reply=0; > > -char *device = NULL; > > +const char *device = NULL; > > int ifindex; > > char *source; > > struct in_addr src, dst; > > > _______________________________________________________ > > Linux-HA-Dev: [email protected] > > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > > Home Page: http://linux-ha.org/ > > _______________________________________________________ > Linux-HA-Dev: [email protected] > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > Home Page: http://linux-ha.org/ > Dejan- This is where my C inexperience shows. Are you saying to make two definitions of the structures surrounded in #if #elsif #endif directives? Do you want me to do this and provide a patch? Thanks for the help. -Davin
_______________________________________________________ Linux-HA-Dev: [email protected] http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/
