From: Marc - A. Dahlhaus [ Administration | Westermann GmbH ] <mad@wol.de>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] LVM2 clvmd and STABLE3
Date: Thu, 30 Jul 2009 12:52:29 +0200 [thread overview]
Message-ID: <1248951149.25215.40.camel@marc> (raw)
In-Reply-To: <4A717925.3020205@redhat.com>
Am Donnerstag, den 30.07.2009, 11:42 +0100 schrieb Christine Caulfield:
> On 30/07/09 11:36, Marc - A. Dahlhaus [ Administration | Westermann GmbH
> ] wrote:
> > Am Donnerstag, den 30.07.2009, 10:01 +0100 schrieb Christine Caulfield:
> >> On 30/07/09 08:45, Marc - A. Dahlhaus [ Administration | Westermann GmbH
> >> ] wrote:
> >>> Am Dienstag, den 10.03.2009, 16:50 +0000 schrieb Chrissie Caulfield:
> >>>> Marc - A. Dahlhaus wrote:
> >>>>> Chrissie Caulfield schrieb:
> >>>>>> Marc - A. Dahlhaus [ Administration | Westermann GmbH ] wrote:
> >>>>>>
> >>>>>>> Hello,
> >>>>>>>
> >>>>>>>
> >>>>>>> what is the right approach to build LVM2 with STABLE3,
> >>>>>>> a build with --with-clvmd=corosync or --with-clvmd=cman ?
> >>>>>>>
> >>>>>>>
> >>>>>> I recommend you do both.
> >>>>>>
> >>>>>> --with-clvmd=corosync=cman,corosync
> >>>>>>
> >>>>> sounds nice but it doesn't build.
> >>>>> I use the last released tarballs of STABLE3, corosync, openais and LVM2.
> >>>>> I tested the following:
> >>>>>
> >>>>> --with-clvmd=corosync=cman,corosync
> >>>>> --with-clvmd=cman,corosync
> >>>>> --with-clvmd=corosync,cman
> >>>>>
> >>>>> All end up with:
> >>>>>
> >>>>> gcc -m32 -o clvmd clvmd-command.o clvmd.o lvm-functions.o
> >>>>> refresh_clvmd.o clvmd-cman.o clvmd-corosync.o -march=i686 -mtune=generic
> >>>>> -O2 -pipe -march=i686 -mtune=generic -O2 -pipe -fPIC -Wall -Wundef
> >>>>> -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes
> >>>>> -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn
> >>>>> -Wformat-security -O2 -march=i686 -mtune=generic -O2 -pipe -fPIC -Wall
> >>>>> -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes
> >>>>> -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn
> >>>>> -Wformat-security -O2 -fno-strict-aliasing -march=i686 -mtune=generic
> >>>>> -O2 -pipe -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings
> >>>>> -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline
> >>>>> -Wmissing-noreturn -Wformat-security -O2 -Wl,--export-dynamic
> >>>>> -L../../libdm -L../../lib -L../../daemons/dmeventd \
> >>>>> -llvm -lpthread -ldevmapper-event -ldevmapper -ldlm
> >>>>> -lcman -ldlm -lreadline -lrt -ldl -lncurses
> >>>>> clvmd-corosync.o: In function `_get_cluster_name':
> >>>>> clvmd-corosync.c:(.text+0x695): undefined reference to `confdb_initialize'
> >>>>> clvmd-corosync.c:(.text+0x6c6): undefined reference to
> >>>>> `confdb_object_find_start'
> >>>>> clvmd-corosync.c:(.text+0x6dd): undefined reference to `confdb_finalize'
> >>>>> clvmd-corosync.c:(.text+0x727): undefined reference to `confdb_object_find'
> >>>>> clvmd-corosync.c:(.text+0x769): undefined reference to `confdb_key_get'
> >>>>> clvmd-corosync.o: In function `_cluster_closedown':
> >>>>> clvmd-corosync.c:(.text+0x7e9): undefined reference to `cpg_finalize'
> >>>>> clvmd-corosync.c:(.text+0x801): undefined reference to `quorum_finalize'
> >>>>> clvmd-corosync.o: In function `_is_quorate':
> >>>>> clvmd-corosync.c:(.text+0x98d): undefined reference to `quorum_getquorate'
> >>>>> clvmd-corosync.o: In function `_get_main_cluster_fd':
> >>>>> clvmd-corosync.c:(.text+0xadd): undefined reference to `cpg_fd_get'
> >>>>> clvmd-corosync.o: In function `_cluster_fd_callback':
> >>>>> clvmd-corosync.c:(.text+0xb30): undefined reference to `cpg_dispatch'
> >>>>> clvmd-corosync.o: In function `_cluster_send_message':
> >>>>> clvmd-corosync.c:(.text+0xc12): undefined reference to `cpg_mcast_joined'
> >>>>> clvmd-corosync.o: In function `init_corosync_cluster':
> >>>>> clvmd-corosync.c:(.text+0xc80): undefined reference to `cpg_initialize'
> >>>>> clvmd-corosync.c:(.text+0xcec): undefined reference to `quorum_initialize'
> >>>>> clvmd-corosync.c:(.text+0xdb9): undefined reference to `cpg_join'
> >>>>> clvmd-corosync.c:(.text+0xddc): undefined reference to `cpg_finalize'
> >>>>> clvmd-corosync.c:(.text+0xdf4): undefined reference to `quorum_finalize'
> >>>>> clvmd-corosync.c:(.text+0xe66): undefined reference to `cpg_local_get'
> >>>>> clvmd-corosync.c:(.text+0xe89): undefined reference to `cpg_finalize'
> >>>>> clvmd-corosync.c:(.text+0xea1): undefined reference to `quorum_finalize'
> >>>>> clvmd-corosync.c:(.text+0xf1c): undefined reference to `quorum_finalize'
> >>>>>
> >>>>> The full configure line for reference:
> >>>>>
> >>>>> ./configure --enable-cmdlib --enable-dmeventd --enable-pkgconfig \
> >>>>> --disable-selinux --with-clvmd=corosync,cman --with-lvm1=shared \
> >>>>> --with-cluster=shared --with-pool=shared \
> >>>>> --with-snapshots=shared --with-mirrors=internal
> >>>>>
> >>
> >> Hmmm.
> >>
> >> I've just checked and the lvm2 configure code to do this was in the
> >> 2.02.45 release.
> >>
> >> I tried it with head of CVS and it works fine ;-)
> >>
> >> Chrissie
> >>
> > I use this commands:
> >
> > CC="gcc -m32" CXX="g++ -m32" ./configure \
> > --enable-cmdlib --enable-dmeventd --enable-pkgconfig \
> > --disable-selinux --with-clvmd=corosync,cman --with-lvm1=shared \
> > --with-cluster=shared --with-pool=shared \
> > --with-snapshots=shared --with-mirrors=internal
> > make
> >
> > and end up with:
> >
> > gcc -m32 -o clvmd clvmd-command.o clvmd.o lvm-functions.o
> > refresh_clvmd.o clvmd-cman.o clvmd-corosync.o -march=i686 -mtune=generic
> > -O2 -pipe -march=i686 -mtune=generic -O2 -pipe -fPIC -Wall -Wundef
> > -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes
> > -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn
> > -Wformat-security -O2 -march=i686 -mtune=generic -O2 -pipe -fPIC -Wall
> > -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes
> > -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn
> > -Wformat-security -O2 -fno-strict-aliasing -march=i686 -mtune=generic
> > -O2 -pipe -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings
> > -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline
> > -Wmissing-noreturn -Wformat-security -O2 -Wl,--export-dynamic
> > -L../../libdm -L../../lib -L../../daemons/dmeventd \
> > -llvm-internal -lpthread -ldevmapper-event -ldevmapper -ldlm -lcman
> > -ldlm -lreadline -lrt -ldl -lncurses
> > clvmd-corosync.o: In function `_get_cluster_name':
> > clvmd-corosync.c:(.text+0x6b5): undefined reference to
> > `confdb_initialize'
> > clvmd-corosync.c:(.text+0x6e6): undefined reference to
> > `confdb_object_find_start'
> > clvmd-corosync.c:(.text+0x6fd): undefined reference to `confdb_finalize'
> > clvmd-corosync.c:(.text+0x747): undefined reference to
> > `confdb_object_find'
> > clvmd-corosync.c:(.text+0x789): undefined reference to `confdb_key_get'
> > clvmd-corosync.o: In function `_cluster_closedown':
> > clvmd-corosync.c:(.text+0x809): undefined reference to `cpg_finalize'
> > clvmd-corosync.c:(.text+0x821): undefined reference to `quorum_finalize'
> > clvmd-corosync.o: In function `_is_quorate':
> > clvmd-corosync.c:(.text+0x9ad): undefined reference to
> > `quorum_getquorate'
> > clvmd-corosync.o: In function `_get_main_cluster_fd':
> > clvmd-corosync.c:(.text+0xafd): undefined reference to `cpg_fd_get'
> > clvmd-corosync.o: In function `_cluster_fd_callback':
> > clvmd-corosync.c:(.text+0xb50): undefined reference to `cpg_dispatch'
> > clvmd-corosync.o: In function `_cluster_send_message':
> > clvmd-corosync.c:(.text+0xc32): undefined reference to
> > `cpg_mcast_joined'
> > clvmd-corosync.o: In function `init_corosync_cluster':
> > clvmd-corosync.c:(.text+0xca0): undefined reference to `cpg_initialize'
> > clvmd-corosync.c:(.text+0xd0c): undefined reference to
> > `quorum_initialize'
> > clvmd-corosync.c:(.text+0xdd9): undefined reference to `cpg_join'
> > clvmd-corosync.c:(.text+0xdfc): undefined reference to `cpg_finalize'
> > clvmd-corosync.c:(.text+0xe14): undefined reference to `quorum_finalize'
> > clvmd-corosync.c:(.text+0xe86): undefined reference to `cpg_local_get'
> > clvmd-corosync.c:(.text+0xea9): undefined reference to `cpg_finalize'
> > clvmd-corosync.c:(.text+0xec1): undefined reference to `quorum_finalize'
> > clvmd-corosync.c:(.text+0xf3c): undefined reference to `quorum_finalize'
> > collect2: ld gab 1 als Ende-Status zur?ck
> > make[2]: *** [clvmd] Fehler 1
> > make[2]: Leaving directory
> > `/repo/kiss-linux/lvm2/src/LVM2.2.02.50/daemons/clvmd'
> > make[1]: *** [clvmd] Fehler 2
> > make[1]: Leaving directory
> > `/repo/kiss-linux/lvm2/src/LVM2.2.02.50/daemons'
> > make: *** [daemons] Fehler 2
> >
> >
> > The problem is in configure as configure doesn't look for individual
> > substrings in CLVMD but tests for the whole string...
> >
> > So i have to set it to cman OR corosync OR all but not to cman,corosync
> > or corosync,cman...
> >
> > I can build just fine with "cman" and also with "corosync" but if i use
>
> Hmm, that's what findstring() is suppose to do. but it's obviously not
> working.
You are looking at daemons/clvmd/Makefile.in...
Please take a look at configure.in and search for the string corosync.
You should spot what i mean there.
I think the tests for the individual bindings of clvmd don't belong
inside of the Makefile but inside of configure.in and configure should
set the bindings to yes if and only if it can find the needed
dependencies for them.
Because i don't know what the test for the individual bindings should
test for, i can't create a patch to fix this up properly...
Marc
next prev parent reply other threads:[~2009-07-30 10:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-10 13:20 [Cluster-devel] LVM2 clvmd and STABLE3 Marc
2009-03-10 13:35 ` Chrissie Caulfield
2009-03-10 16:45 ` Marc - A. Dahlhaus
2009-03-10 16:50 ` Chrissie Caulfield
2009-07-30 7:45 ` Marc
2009-07-30 9:01 ` Christine Caulfield
2009-07-30 10:36 ` Marc
2009-07-30 10:42 ` Christine Caulfield
2009-07-30 10:52 ` Marc [this message]
2009-07-30 10:54 ` Christine Caulfield
2009-07-30 12:32 ` Marc
2009-07-30 12:39 ` Christine Caulfield
2009-07-30 13:06 ` Marc
2009-07-30 13:11 ` Marc
2009-07-30 13:33 ` Christine Caulfield
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1248951149.25215.40.camel@marc \
--to=cluster-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).