[Pacemaker] dlm_controld.pcmk

Andrew Beekhof andrew at beekhof.net
Wed May 12 12:25:10 UTC 2010


Looks like its missing a library.
Try adding -lconfdb in the Makefile.

On Tue, May 11, 2010 at 12:42 AM, bunkertor <bunkertor at tiscali.it> wrote:
> 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.
>
> _______________________________________________
> 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
>




More information about the Pacemaker mailing list