Hi Andrew,<br><br> I ran it. However, an error has been output.<br> Probably I have a feeling that glib does not move well.<br> I attached ha-log.<br><br> I feel like cannot read a library well.<br> It is contents of core as follows.<br>
---- <br>$ gdb /usr/sbin/corosync core.27920<br>GNU gdb Fedora (6.8-37.el5)<br>Copyright (C) 2008 Free Software Foundation, Inc.<br>License GPLv3+: GNU GPL version 3 or later &lt;<a href="http://gnu.org/licenses/gpl.html">http://gnu.org/licenses/gpl.html</a>&gt;<br>
This is free software: you are free to change and redistribute it.<br>There is NO WARRANTY, to the extent permitted by law.  Type &quot;show copying&quot;<br>and &quot;show warranty&quot; for details.<br>This GDB was configured as &quot;x86_64-redhat-linux-gnu&quot;...<br>
<br>warning: core file may not match specified executable file.<br>Core was generated by `/usr/lib64/heartbeat/pengine&#39;.<br>Program terminated with signal 11, Segmentation fault.<br>[New process 27920]<br>#0  0x00002b247fa8b53a in ?? ()<br>
(gdb) where<br>#0  0x00002b247fa8b53a in ?? ()<br>#1  0x00002b247ebc5027 in ?? ()<br>#2  0x0000000000000000 in ?? ()<br>------<br><br>Regards,<br>Tomo<br><br><div class="gmail_quote">2010/11/11 Andrew Beekhof <span dir="ltr">&lt;<a href="mailto:andrew@beekhof.net">andrew@beekhof.net</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">On Thu, Nov 11, 2010 at 10:26 AM, nozawat &lt;<a href="mailto:nozawat@gmail.com">nozawat@gmail.com</a>&gt; wrote:<br>

&gt; Hi Andrew,<br>
&gt;<br>
&gt;  Thanks for a revision.<br>
&gt;  I confirmed completion of compiling it.<br>
&gt;  I revised it a little, I attach a patch.<br>
<br>
</div>Thanks!  Did you try running it?<br>
<div><div></div><div class="h5"><br>
&gt;<br>
&gt; Regards,<br>
&gt; Tomo<br>
&gt;<br>
&gt;<br>
&gt; 2010/11/11 Andrew Beekhof &lt;<a href="mailto:andrew@beekhof.net">andrew@beekhof.net</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; This might be a little better:<br>
&gt;&gt;<br>
&gt;&gt; diff -r dd75da218e4f <a href="http://configure.ac" target="_blank">configure.ac</a><br>
&gt;&gt; --- a/<a href="http://configure.ac" target="_blank">configure.ac</a>      Fri Oct 29 12:12:45 2010 +0200<br>
&gt;&gt; +++ b/<a href="http://configure.ac" target="_blank">configure.ac</a>      Tue Nov 09 13:20:55 2010 +0100<br>
&gt;&gt; @@ -654,7 +654,7 @@ AC_MSG_RESULT(using $GLIBCONFIG)<br>
&gt;&gt;<br>
&gt;&gt;  AC_CHECK_LIB(glib-2.0, g_hash_table_get_values)<br>
&gt;&gt;  if test &quot;x$ac_cv_lib_glib_2_0_g_hash_table_get_values&quot; != x&quot;&quot;yes; then<br>
&gt;&gt; -   AC_MSG_ERROR(Your version of Glib is too old, you need at least 2.14)<br>
&gt;&gt; +   AC_MSG_WARN(Your version of Glib is too old, you should have at least<br>
&gt;&gt; 2.14)<br>
&gt;&gt;  fi<br>
&gt;&gt;<br>
&gt;&gt;  #<br>
&gt;&gt; diff -r dd75da218e4f include/crm/common/util.h<br>
&gt;&gt; --- a/include/crm/common/util.h Fri Oct 29 12:12:45 2010 +0200<br>
&gt;&gt; +++ b/include/crm/common/util.h Tue Nov 09 13:20:55 2010 +0100<br>
&gt;&gt; @@ -298,4 +298,59 @@ extern int node_score_infinity;<br>
&gt;&gt;  extern xmlNode *create_operation_update(xmlNode *parent, lrm_op_t<br>
&gt;&gt; *op, const char *caller_version, int target_rc, const char *origin,<br>
&gt;&gt; int level);<br>
&gt;&gt;  extern void free_lrm_op(lrm_op_t *op);<br>
&gt;&gt;<br>
&gt;&gt; +#if HAVE_LIBGLIB_2_0<br>
&gt;&gt; +<br>
&gt;&gt; +#else<br>
&gt;&gt; +<br>
&gt;&gt; +typedef struct fake_ghi<br>
&gt;&gt; +{<br>
&gt;&gt; +       int         offset;<br>
&gt;&gt; +       GHashTable *hash;<br>
&gt;&gt; +       GList      *values;<br>
&gt;&gt; +<br>
&gt;&gt; +} GHashTableIter;<br>
&gt;&gt; +<br>
&gt;&gt; +static inline void g_hash_append_value(gpointer key, gpointer value,<br>
&gt;&gt; gpointer user_data)<br>
&gt;&gt; +{<br>
&gt;&gt; +    GList **values = (GList **)user_data;<br>
&gt;&gt; +    *values = g_list_append(*values, value);<br>
&gt;&gt; +}<br>
&gt;&gt; +<br>
&gt;&gt; +static inline GList *g_hash_table_get_values(GHashTable *hash_table);<br>
&gt;&gt; +{<br>
&gt;&gt; +    GList *values = NULL;<br>
&gt;&gt; +    g_hash_table_foreach(hash_table, g_hash_append_value, &amp;values);<br>
&gt;&gt; +}<br>
&gt;&gt; +<br>
&gt;&gt; +static inline void g_hash_table_iter_init(GHashTableIter *iter,<br>
&gt;&gt; GHashTable *hash_table)<br>
&gt;&gt; +{<br>
&gt;&gt; +    iter-&gt;offset = 0;<br>
&gt;&gt; +    iter-&gt;hash = hash_table;<br>
&gt;&gt; +<br>
&gt;&gt; +    /* iter-&gt;values = g_hash_table_get_values(hash_table); */<br>
&gt;&gt; +<br>
&gt;&gt; +    /* We could cache the values, but then we need to clean up the list<br>
&gt;&gt; +     * later which doesn&#39;t fit the glib2 API<br>
&gt;&gt; +     * So instead we calculate it in _next() every time its needed<br>
&gt;&gt; +     */<br>
&gt;&gt; +}<br>
&gt;&gt; +<br>
&gt;&gt; +<br>
&gt;&gt; +static inline gboolean g_hash_table_iter_next(GHashTableIter *iter,<br>
&gt;&gt; gpointer *key, gpointer *value)<br>
&gt;&gt; +{<br>
&gt;&gt; +    GList *values = iter-&gt;values;<br>
&gt;&gt; +    if(iter-&gt;values == NULL) {<br>
&gt;&gt; +       values = g_hash_table_get_values(iter-&gt;hash_table);<br>
&gt;&gt; +    }<br>
&gt;&gt; +<br>
&gt;&gt; +    iter-&gt;offset++;<br>
&gt;&gt; +    *value = g_list_nth_data(values, iter-&gt;offset);<br>
&gt;&gt; +<br>
&gt;&gt; +    if(iter-&gt;values == NULL) {<br>
&gt;&gt; +       g_list_free(values);<br>
&gt;&gt; +    }<br>
&gt;&gt; +    return (*value) != NULL;<br>
&gt;&gt; +}<br>
&gt;&gt; +<br>
&gt;&gt;  #endif<br>
&gt;&gt; +<br>
&gt;&gt; +#endif<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
&gt;&gt; <a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
&gt;&gt;<br>
&gt;&gt; Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
&gt;&gt; Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
&gt;&gt; Bugs:<br>
&gt;&gt; <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
&gt; <a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
&gt;<br>
&gt; Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
&gt; Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
&gt; Bugs:<br>
&gt; <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
<a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
<br>
Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
Bugs: <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
</div></div></blockquote></div><br>