From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christine Caulfield Date: Thu, 30 Jul 2009 11:54:29 +0100 Subject: [Cluster-devel] LVM2 clvmd and STABLE3 In-Reply-To: <1248951149.25215.40.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> <4A717925.3020205@redhat.com> <1248951149.25215.40.camel@marc> Message-ID: <4A717BE5.5000402@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:52, Marc - A. Dahlhaus [ Administration | Westermann GmbH ] wrote: > 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. > Oh I don't touch configure.in - far too scary Chrissie