[Pacemaker] compiling pacemaker on OpenBSD breaks

Andrew Beekhof andrew at beekhof.net
Sun Nov 13 19:50:17 EST 2011

On Fri, Oct 28, 2011 at 9:53 PM, Sebastian Reitenbach
<sebastia at l00-bugdead-prods.de> wrote:
> On Friday, October 28, 2011 12:30 CEST, "Sebastian Reitenbach" <sebastia at l00-bugdead-prods.de> wrote:
>> Hi,
>> I'm trying to get the old heartbeat port in the OpenBSD ports tree replaced/upgrdaed with pacemaker. I have downloaded
>> http://hg.clusterlabs.org/pacemaker/1.2/archive/Pacemaker-1.1.0.tar.bz2
>> Is this actually the last version, besides development branch? I'm a bit a noob with regard to mercurial ;)
> OK, its not, just after sending this mail, I found on github seems to be the last version.
>> Before I tried above version, I had accidently used 1.0.X version, which did compile without problem.
>> Otherwise, I've installed corosync-1.4.2, heartbeat-3.0.5, cluster-glue-1.0.8, resource-agents-1.0.8. The compiler used is:
>> gcc version 4.2.1 20070719
> anyways, also fails the same ways:
> gmake[1]: Entering directory `/home/ports/pobj/pacemaker-'
> if /bin/sh ../../libtool --tag=CC  --tag=CC --mode=compile cc -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../include  -I../../include -I../../libltdl  -I../../libltdl -I../..          -I../..  -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include -I../../include  -I../../include -I../../libltdl  -I../../libltdl -I../..          -I../.. -UCURSES_ENABLED -I/usr/local/include/heartbeat -I/usr/local/include -I/usr/local/include -ggdb3 -O0  -fgnu89-inline -fstack-protector-all -Wall -Waggregate-return -Wbad-function-cast -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes -Wwrite-strings -MT st_client.lo -MD -MP -MF ".deps/st_client.Tpo" -c -o st_client.lo st_client.
>  c; \
> then mv -f ".deps/st_client.Tpo" ".deps/st_client.Plo"; else rm -f ".deps/st_client.Tpo"; exit 1; fi
> libtool: compile:  cc -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../include -I../../include -I../../libltdl -I../../libltdl -I../.. -I../.. -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include -I../../include -I../../include -I../../libltdl -I../../libltdl -I../.. -I../.. -UCURSES_ENABLED -I/usr/local/include/heartbeat -I/usr/local/include -I/usr/local/include -ggdb3 -O0 -fgnu89-inline -fstack-protector-all -Wall -Waggregate-return -Wbad-function-cast -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes -Wwrite-strings -MT st_client.lo -MD -MP -MF .deps/st_client.Tpo -c st_client.c  -fPIC -DPIC -o .libs/st_client.o
> In file included from st_client.c:36:
> ../../include/crm/stonith-ng-internal.h:26: error: expected identifier or '(' before '&' token
> ../../include/crm/stonith-ng-internal.h:27: error: expected ';' before 'int'
> st_client.c: In function 'run_stonith_agent':
> st_client.c:433: error: expected identifier before '(' token
> st_client.c:434: error: 'async_command_t' has no member named 'pt_ops'
> st_client.c:435: error: 'async_command_t' has no member named 'timeout'
> st_client.c:437: error: 'async_command_t' has no member named 'timeout'
> st_client.c:438: error: 'async_command_t' has no member named 'killseq'
> st_client.c:438: error: 'async_command_t' has no member named 'timeout'
> st_client.c:439: error: 'async_command_t' has no member named 'killseq'
> st_client.c:440: error: 'async_command_t' has no member named 'killseq'
> st_client.c:441: error: 'async_command_t' has no member named 'killseq'
> st_client.c:442: error: 'async_command_t' has no member named 'killseq'
> st_client.c:443: error: 'async_command_t' has no member named 'killseq'
> st_client.c:445: error: 'async_command_t' has no member named 'killseq'
> gmake[1]: *** [st_client.lo] Error 1
> include/crm/stonith-ng-internal.h:
> typedef struct async_command_s
> {
>        int id;           <- line 26

No idea, there is no '&' token anywhere here.
Maybe your compiler doesn't like some of the CFLAGS, try getting rid
of as many as possible and see that helps.

Is your compiler trying to compile as C or C++?  That could cause issues.

>        int stdout;
> ...
> Sebastian
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker

More information about the Pacemaker mailing list