From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christine Caulfield Date: Thu, 30 Jul 2009 11:42:45 +0100 Subject: [Cluster-devel] LVM2 clvmd and STABLE3 In-Reply-To: <1248950188.25215.31.camel@marc> References: <1236691257.16338.3.camel@marc> <49B66C9F.4030607@redhat.com> <49B69918.3050307@wol.de> <49B69A45.2050603@redhat.com> <1248939924.16544.20.camel@marc> <4A71617E.4010500@redhat.com> <1248950188.25215.31.camel@marc> Message-ID: <4A717925.3020205@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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. Chrissie