[ClusterLabs] build error pacemaker

Christopher Lumens clumens at redhat.com
Thu Jan 2 10:45:19 EST 2020

> *crm_mon_curses.c:300:1: error: args to be formatted is not
> ‘...’ curses_indented_printf(pcmk__output_t *out, const char *format,
> va_list args) { ^~~~~~~~~~~~~~~~~~~~~~crm_mon_curses.c:300:1: error:
> conflicting types for ‘curses_indented_printf’In file included from
> crm_mon_curses.c:17:crm_mon.h:119:6: note: previous declaration of
> ‘curses_indented_printf’ was here void
> curses_indented_printf(pcmk__output_t *out, const char *format, ...)
> G_GNUC_PRINTF(2, 3);      ^~~~~~~~~~~~~~~~~~~~~~make[2]: ***
> [Makefile:1047: crm_mon_curses.o] Error 1make[2]: Leaving directory
> '/root/pacemaker-build/pacemaker/tools'make[1]: *** [Makefile:1174: core]
> Error 1make[1]: Leaving directory '/root/pacemaker-build/pacemaker'make:
> *** [GNUmakefile:75: build] Error 2*

There's two things going wrong here.  First, the ncurses definition of
curses_indented_printf and the non-ncurses definition do not have the same
type.  Whoops, I should have tested both.  Second, it's somehow trying
to build this file without curses support because it thinks curses doesn't
exist on your system.

Can you add #include <config.h> as the first include in tools/crm_mon_curses.c?
That should make it build the right piece of the file and skip the other
error, which is really easy to fix.

- Chris

More information about the Users mailing list