[Pacemaker] dlm_controld.pcmk

bunkertor bunkertor at tiscali.it
Mon May 10 18:42:07 EDT 2010


hi all, my first post =)
im here to ask you some help to compile dlm_controld.pcmk for ocfs2 
support in pacemaker. i followed the installation guide posted here 
(http://www.clusterlabs.org/wiki/Install#From_Source) and pacemaker is 
up and running on two nodes (both opensuse 11.1) with some working 
resources.

this is my installation:

resource-agents configuration:
   Version                  = 1.0.3 (Build: 
a7c0f35916bfd29ccb1acd2e18818b92ce6a6a62)
   Features                 =

   Prefix                   = /usr
   Executables              = /usr/sbin
   Man pages                = /usr/share/man
   Libraries                = /usr/lib
   Header files             = /usr/include
   Arch-independent files   = /usr/share
   Documentation            = /usr/share/doc/resource-agents
   State information        = /usr/var
   System configuration     = /usr/etc
   RA state files           = /usr/var/run/resource-agents
   AIS Plugins              =

   CFLAGS                   = -g -O2 -ggdb3 -O0  -fgnu89-inline 
-fstack-protector-all -Wall -Wbad-function-cast -Wcast-qual -Wcast-align 
-Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 
-Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes 
-Wmissing-declarations -Wmissing-format-attribute -Wnested-externs 
-Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes 
-Wwrite-strings -ansi -D_GNU_SOURCE -DANSI_ONLY -Werror
   Libraries                =  -lglib-2.0
   Stack Libraries          =
============================================================================================
corosync configuration:
   Version                  = 1.2.1
   Prefix                   = /usr
   Executables              = ${exec_prefix}/sbin
   Man pages                = /usr/share/man
   Doc dir                  = ${datarootdir}/doc/${PACKAGE_TARNAME}
   Libraries                = ${exec_prefix}/lib
   Header files             = ${prefix}/include
   Arch-independent files   = ${datarootdir}
   State information        = /var
   System configuration     = /etc
   System init.d directory  = /etc/init.d
   corosync config dir      = /etc/corosync
   LCRSO                    = /usr/libexec/lcrso
   SOCKETDIR                = /var/run
   Features                 = nss

corosync build info:
   Library SONAME           = 4.0.0
   CFG Library SONAME       = 4.0.0
   CONFDB Library SONAME    = 4.1.0
   CPG Library SONAME       = 4.1.0
   EVS Library SONAME       = 4.0.0
   PLOAD Library SONAME     = 4.0.0
   QUORUM Library SONAME    = 4.0.0
   SAM Library SONAME       = 4.2.0
   VOTEQUORUM Library SONAME  = 4.0.0
   Default optimization     = -O3
   Default debug options    =
   Extra compiler warnings  =
   Env. defined CFLAG       = -g -O2
   Env. defined CPPFLAGS    =
   Env. defined LDFLAGS     =
   OS   defined CFLAGS      =
   OS   defined CPPFLAGS    =
   OS   defined LDFLAGS     =
   OS   defined LDL         = -ldl
   OS   defined DYFLAGS     = -rdynamic
   ANSI defined CPPFLAGS    =
   Coverage     CFLAGS      =
   Coverage     LDFLAGS     =
   Fatal War.   CFLAGS      =
   Final        CFLAGS      = -g -O2 -O3 -ggdb3            -Wall 
-Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes 
-Wdeclaration-after-statement -Wpointer-arith -Wwrite-strings 
-Wcast-align -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 
-Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing
   Final        CPPFLAGS    =
   Final        LDFLAGS     =
============================================================================================
openais configuration:
   Version                  = 1.1.2
   Prefix                   = /usr
   Executables              = ${exec_prefix}/sbin
   Man pages                = /usr/share/man
   Doc dir                  = ${datarootdir}/doc/${PACKAGE_TARNAME}
   Libraries                = ${exec_prefix}/lib
   Header files             = ${prefix}/include
   Arch-independent files   = ${datarootdir}
   State information        = /var
   System configuration     = /etc
   System init.d directory  = /etc/init.d
   corosync config dir      = /etc/corosync
   LCRSO                    = /usr/libexec/lcrso
   Features                 =

openais build info:
   Library SONAME           = 3.0.0
   MSG Library SONAME       = 4.0.0
   Default optimization     = -O3
   Default debug options    =
   Extra compiler warnings  =
   Env. defined CFLAG       = -g -O2
   Env. defined CPPFLAGS    =
   Env. defined LDFLAGS     =
   OS   defined CFLAGS      =
   OS   defined CPPFLAGS    =
   OS   defined LDFLAGS     =
   OS   defined DYFLAGS     = -rdynamic
   Coverage     CFLAGS      =
   Coverage     LDFLAGS     =
   Fatal War.   CFLAGS      =
   Final        CFLAGS      = -g -O2 -O3 -ggdb3            -Wall 
-Wmissing-prototypes -Wmissing-declarations 
-Wstrict-pro                                      totypes 
-Wdeclaration-after-statement -Wpointer-arith -Wwrite-strings 
-Wcast-align -Wbad-function-cast 
-Wmissing-format-                                      attribute 
-Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long 
-Wno-strict-aliasing -Wshadow
   Final        CPPFLAGS    =
   Final        LDFLAGS     =
============================================================================================
pacemaker configuration:
   Version                  = 1.0.8 (Build: 
423891ec6d91c77582973bed51bc36068a550feb)
   Features                 = ncurses corosync snmp

   Prefix                   = /usr
   Executables              = /usr/sbin
   Man pages                = /usr/share/man
   Libraries                = /usr/lib
   Header files             = /usr/include
   Arch-independent files   = /usr/share
   State information        = /var
   System configuration     = /etc
   AIS Plugins              = /usr/libexec/lcrso

   Use system LTDL          = yes

   HA group name            = haclient
   HA user name             = hacluster

   CFLAGS                   = -g -O2 -I/usr/include 
-I/usr/include/heartbeat   -ggdb3 -O0  -fgnu89-inline 
-fstack-protector-all -Wall -Waggregate-return -Wbad-function-cast 
-Wcast-qual -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 -ansi -D_GNU_SOURCE -DANSI_ONLY -Werror
   Libraries                = -lplumb -lpils -lbz2 -lxslt -lxml2 -lc 
-luuid -lrt -ldl  -lglib-2.0   -lltdl
   Stack Libraries          =  -lcoroipcc
============================================================================================

i'd like to add ocfs2 support in my installation and i followed this 
guide to compile dlm_controld: 
http://oss.clusterlabs.org/pipermail/pacemaker/2009-October/003064.html
but i have problems compiling dlm_controld.pcmk (dlm from git)
i compiled logthread lib as describe in that guide (from cluster-2.99.13 
package).
make stops here:

============================================================================================
make[1]: Entering directory `/usr/local/src/dlm.2/group/dlm_controld'
/bin/sh ../../libtool --tag=CC   --mode=link gcc   
-I/usr/include/openais   -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/                                      include   
-I/usr/include/libxml2    -g -O2 -O2 -ggdb3    -Wall -Wshadow 
-Wmissing-prototypes -Wmissing-declarations 
-Wst                                      rict-prototypes 
-Wdeclaration-after-statement -Wpointer-arith -Wwrite-strings 
-Wcast-align -Wbad-function-cast 
-Wmissing                                      -format-attribute 
-Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long 
-Wno-strict-aliasing  -llogthread   
-l                                      cpg   -lSaCkpt   -lpthread 
-lglib-2.0   -lxml2   -ltotem_pg   -lcib -lcrmcommon -lcrmcluster  -o 
dlm_controld.pcmk dlm_c                                      
ontrold_pcmk-action.o dlm_controld_pcmk-cpg.o dlm_controld_pcmk-crc.o 
dlm_controld_pcmk-deadlock.o 
dlm_controld_pcmk-mai                                      n.o 
dlm_controld_pcmk-netlink.o dlm_controld_pcmk-plock.o 
dlm_controld_pcmk-pacemaker.o ../../dlm/libdlm/libdlm.la 
../..                                      
/dlm/libdlmcontrol/libdlmcontrol.la
libtool: link: gcc -I/usr/include/openais -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -I/usr/include/libxml2 
-g                                       -O2 -O2 -ggdb3 -Wall -Wshadow 
-Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes 
-Wdeclaration-after-statem                                      ent 
-Wpointer-arith -Wwrite-strings -Wcast-align -Wbad-function-cast 
-Wmissing-format-attribute -Wformat=2 
-Wformat-secu                                      rity 
-Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -o 
.libs/dlm_controld.pcmk dlm_controld_pcmk-action.o 
dlm_c                                      ontrold_pcmk-cpg.o 
dlm_controld_pcmk-crc.o dlm_controld_pcmk-deadlock.o 
dlm_controld_pcmk-main.o 
dlm_controld_pcmk-netli                                      nk.o 
dlm_controld_pcmk-plock.o dlm_controld_pcmk-pacemaker.o  -llogthread 
-lcpg -lSaCkpt -ltotem_pg /usr/lib/libcib.so 
-                                      lcrypto /usr/lib/libcrmcluster.so 
-lcoroipcc /usr/lib/libcrmcommon.so /usr/lib/libplumb.so 
/usr/lib/libpils.so -lbz2 /us                                      
r/lib/libxslt.so /usr/lib/libxml2.so -lz -lm -lc -luuid -lrt -lglib-2.0 
/usr/lib/libltdl.so -ldl 
../../dlm/libdlm/.libs/                                      libdlm.so 
-lpthread ../../dlm/libdlmcontrol/.libs/libdlmcontrol.so
dlm_controld_pcmk-action.o: In function `detect_protocol':
/usr/local/src/dlm.2/group/dlm_controld/action.c:31: undefined reference 
to `confdb_initialize'
/usr/local/src/dlm.2/group/dlm_controld/action.c:37: undefined reference 
to `confdb_object_find_start'
/usr/local/src/dlm.2/group/dlm_controld/action.c:66: undefined reference 
to `confdb_finalize'
/usr/local/src/dlm.2/group/dlm_controld/action.c:43: undefined reference 
to `confdb_object_find'
/usr/local/src/dlm.2/group/dlm_controld/action.c:50: undefined reference 
to `confdb_key_get'
collect2: ld returned 1 exit status
make[1]: *** [dlm_controld.pcmk] Error 1
make[1]: Leaving directory `/usr/local/src/dlm.2/group/dlm_controld'
make: *** [all-recursive] Error 1
============================================================================================

i cannot see where i make mistakes, all installation have --prefix=/usr, 
pkgconfig is ok (it seems), no errors or warning in configure scripts, 
and i dont know how to turn on db support (or what it means).
in file /usr/local/src/dlm.2/group/dlm_controld/action.c i see that it 
includes "corosync/confdb.h" that exists on both systems: 
/usr/include/corosync/confdb.h, and .pc file in /usr/lib/pkgconfig is ok:

==================
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib
includedir=${prefix}/include

Name: confdb
Version: 1.2.1
Description: confdb
Requires:
Libs: -L${libdir} -lconfdb
Cflags: -I${includedir}
==================

i tried to force CPPFLAGS and LDFLAGS directives to search in different 
paths but with same results.
any hints?
i'm not a guru and this installation is only for learning so be patient, 
and sorry for my poor english.

thank to all in advance.

PS: i hope this is the right place to post my question, if not please 
let me know.




More information about the Pacemaker mailing list