Il 12/05/2010 14.25, Andrew Beekhof ha scritto:
Looks like its missing a library.
Try adding -lconfdb in the Makefile.

On Tue, May 11, 2010 at 12:42 AM, bunkertor<bunker...@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@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

_______________________________________________
Pacemaker mailing list: Pacemaker@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


it works!!
LIBS="-lconfdb"
thank you so much for help.

bye

_______________________________________________
Pacemaker mailing list: Pacemaker@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

Reply via email to