[Pacemaker] Pacemaker strange compilation errors

Andrew Beekhof andrew at beekhof.net
Thu Dec 17 07:10:52 UTC 2009


On Thu, Dec 17, 2009 at 1:29 AM, Hunny Bunny <tmphb at yahoo.com> wrote:
>
> Hello folkz,
> After Andrew's suggestion to set proper CFLAGS I've recompiled all the cluster environment again. Everything went quite OK, except Pacemaker.
> Could somebody please look into this brief summary of my efforts and may be point me to the issue I'm missing or unaware.
> Many thanks in advance,
> Alex
>
> Cluster applications installation order
>
> 1. DRBD - OK
> 2. Corosync - OK
> 3. OpenAIS - OK
> 4. Reusable_Cluster_Components - OK
> 5. Cluster_Resource_Agents - OK with some some concerns.
> 6. Pacemaker - compilation fails, please see very last snippet.
>
> Common Pacemaker configuration file
>
> <---------- snipped ---------->
>
> #!/bin/bash
>
> PREFIX=/usr/local/cluster
> CLUSTER_USER=cluster
> CLUSTER_GROUP=cluster
>
> CFLAGS="-I$PREFIX/include -L$PREFIX/lib"
> CXXFLAGS=$CFLAGS
>
> export PREFIX CLUSTER_USER CLUSTER_GROUP CFLAGS CXXFLAGS
>
> ./autogen.sh && ../configure \
> --prefix=$PREFIX \
> --sbindir=$PREFIX/sbin \
> --bindir=$PREFIX/bin \
> --libdir=$PREFIX/lib \
> --libexecdir=$PREFIX/libexec \
> --includedir=$PREFIX/include \
> --sysconfdir=/etc \
> --datarootdir=$PREFIX/share \
> --datadir=$PREFIX/share \
> --datarootdir=$PREFIX/share \
> --mandir=$PREFIX/man \
> --docdir=$PREFIX/doc/pacemaker \
> --infodir=$PREFIX/info \
> --localstatedir=$PREFIX/var \
> --with-initdir=/etc/init.d \
> --with-ais \
> --with-ais-prefix=$PREFIX \
> --with-lcrso-dir=$PREFIX/libexec/lcrso \
> --with-snmp \
> --with-esmtp \
> --without-heartbeat \
> --enable-thread-safe \
> --disable-fatal-warnings
>
> <---------- snipped ---------->
>
> Resource agents configure output
> Question: Is it normal that it could not determine AIS Pligins as shown below?
>
> <---------- snipped ---------->
>
> resource-agents configuration:
>   Version                  = 1.0.2 (Build: bef27757cc4773e52cea2972ab9f1b67ed7c5c31)
>   Features                 =
>
>   Prefix                   = /usr/local/cluster
>   Executables              = /usr/local/cluster/sbin
>   Man pages                = /usr/local/cluster/man
>   Libraries                = /usr/local/cluster/lib
>   Header files             = /usr/local/cluster/include
>   Arch-independent files   = /usr/local/cluster/share
>   State information        = /usr/local/cluster/var
>   System configuration     = /etc
>   AIS Plugins              =
>
> <---------- snipped ---------->
>
> Pacemaker configure output
> Seems to be OK, it even determined correct AIS Pligins as shown below
>
> <---------- snipped ---------->
>
> pacemaker configuration:
>   Version                  = 1.0.6 (Build: 3c975c817c1278264c9e914c10cbe6824665cc4a)
>   Features                 = ncurses corosync snmp libesmtp
>
>   Prefix                   = /usr/local/cluster
>   Executables              = /usr/local/cluster/sbin
>   Man pages                = /usr/local/cluster/man
>   Libraries                = /usr/local/cluster/lib
>   Header files             = /usr/local/cluster/include
>   Arch-independent files   = /usr/local/cluster/share
>   State information        = /usr/local/cluster/var
>   System configuration     = /etc
>   AIS Plugins              = /usr/local/cluster/libexec/lcrso
>
>   Use system LTDL          = yes
>
>   HA group name            = cluster
>   HA user name             = cluster
>
> <---------- snipped ---------->
>
> However, Pacemaker compilation fails starting with these error as shown below.
>
> Pacemaker make output
>
> <---------- snipped ---------->
>
> Making all in ais
> gmake[2]: Entering directory `/var/build/Cluster/Pacemaker-1-0-3c975c817c12/lib/ais'
> /bin/sh ../../libtool --tag=CC   --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../
> libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../include -pthread -I/usr/include/glib-
> In file included from utils.c:35:
> ../../include/crm/ais.h:33:35: error: corosync/corodefs.h: No such file or directory

Thats odd.  I'd have thought CFLAGS="-I$PREFIX/include -L$PREFIX/lib"
would be able to find it.
Does $PREFIX/include/corosync/corodefs.h exist?

I wonder why CFLGS is not showing up in the gcc output above.
Did you re-run configure, with CFLAGS set, before compiling?




More information about the Pacemaker mailing list