[ClusterLabs] help compiling pacemaker 1.1 on Amazon Linux

Jim Rippon jim at rippon.me.uk
Fri May 6 15:52:37 CEST 2016


Thank you guys,

I've taken your advice onboard and checked out 1.1.15-rc1 including the 
patches Lars mentions as Jan suggested - I see another warning with 
fatal warnings enabled:

gmake[2]: Entering directory `/home/jrippon/pacemaker/lib/cluster'
   CC       election.lo
   CC       cluster.lo
   CC       membership.lo
   CC       cpg.lo
   CC       legacy.lo
legacy.c:55:13: error: 'valid_cman_name' defined but not used 
[-Werror=unused-function]
  static bool valid_cman_name(const char *name, uint32_t nodeid)
              ^
cc1: all warnings being treated as errors
gmake[2]: *** [legacy.lo] Error 1
gmake[2]: Leaving directory `/home/jrippon/pacemaker/lib/cluster'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/jrippon/pacemaker/lib'
make: *** [core] Error 1

This is, of course, only a warning with fatal warnings disabled as Jan 
suggested - I can build successfully with that function commented 
without other errors.

I'm happy to trial 1.1.15-rc1 built with fatal warnings disabled for now 
- my C foo isn't good enough to debug the problem further, but if I can 
be of any help getting that warning fixed for rc2 I'd be happy to assist 
:)

Thanks,

Jim

On 2016-05-06 14:39, Jan Pokorný wrote:
> On 06/05/16 13:31 +0200, Lars Ellenberg wrote:
>> On Fri, May 06, 2016 at 11:51:25AM +0100, Jim Rippon wrote:
>>> I'm new to the list so apologies if I'm way off base, but I wonder
>>> if someone can help me please?
>>> 
>>> I'm looking to build private RPMs for pacemaker and any dependencies
>>> for Amazon Linux because I have as yet been unable to get the CentOS
>>> binaries to install successfully.
>>> 
>>> I've got libqb and libqb-devel RPMs built successfully (also not
>>> available in amazon linux repos) and installed on my build instance,
>>> but I am getting errors when making pacemaker from tag
>>> Pacemaker-1.1.14
>>> 
>>> I am doing the following:
>>> 
>>>  git checkout --force Pacemaker-1.1.14
>>>  git clean -fdx
>>>  ./autogen.sh
>>>  ./configure # with options suggested by autogen.sh
>>>  make
>>> 
>>> I then receive the following errors from lib/common and the make 
>>> fails:
>>> 
>>>  In file included from ../../include/crm_internal.h:33:0,
>>>  from ipc.c:19:
>>>  ipc.c: In function 'crm_ipcs_flush_events':
>>>  ../../include/crm/common/logging.h:140:23: error: format '%d'
>>> expects argument of type 'int', but argument 10 has type 'ssize_t'
>>> [-Werror=format=]
>> 
>> 
>> That's "just" a format error about ssize_t != int.
>> See also
>> https://github.com/ClusterLabs/pacemaker/commit/fc87717
>> where I already fixed this (and other) format errors.
>> 
>> Of course you could also drop the -Werror,
>> and hope that most of the time, for your platform,
>> gcc will do something useful still.
> 
> This would be done with passing "--disable-fatal-warnings" to
> ./configure invocation.
> 
> Note that such build failures will also go away once you try
> with libqb <= v1.0rc1, i.e., anything that doesn't include
> https://github.com/ClusterLabs/libqb/pull/175 (736e2c8).
> 
> But both will just fool yourself into thinking that Pacemaker
> always passes logging parameters per the format strings (and
> hence segfaults due to such mishandlings are not possible),
> which is not the case until the changeset Lars referenced.
> 
> So actually using recently released Pacemaker-1.1.15-rc1
> (which includes that) might be a better idea.
> 
> Hope this helps.
> 
> --
> Jan (Poki)
> 
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
> 
> Project Home: http://www.clusterlabs.org
> Getting started: 
> http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org



More information about the Users mailing list