* [Cluster-devel] LVM2 clvmd and STABLE3
@ 2009-03-10 13:20 Marc
2009-03-10 13:35 ` Chrissie Caulfield
0 siblings, 1 reply; 15+ messages in thread
From: Marc @ 2009-03-10 13:20 UTC (permalink / raw)
To: cluster-devel.redhat.com
Hello,
what is the right approach to build LVM2 with STABLE3,
a build with --with-clvmd=corosync or --with-clvmd=cman ?
thanks,
Marc
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
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
0 siblings, 1 reply; 15+ messages in thread
From: Chrissie Caulfield @ 2009-03-10 13:35 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
clvmd will default to cman, but you can switch to corosync when you feel
the need, by adding -Icorosync to the command-line.
Or there's a variable in /etc/sysconfig/cluster called
CLVMD_CLUSTER_IFACE that is picked up by the init script too.
--
Chrissie
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-03-10 13:35 ` Chrissie Caulfield
@ 2009-03-10 16:45 ` Marc - A. Dahlhaus
2009-03-10 16:50 ` Chrissie Caulfield
0 siblings, 1 reply; 15+ messages in thread
From: Marc - A. Dahlhaus @ 2009-03-10 16:45 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
> clvmd will default to cman, but you can switch to corosync when you feel
> the need, by adding -Icorosync to the command-line.
>
> Or there's a variable in /etc/sysconfig/cluster called
> CLVMD_CLUSTER_IFACE that is picked up by the init script too.
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-03-10 16:45 ` Marc - A. Dahlhaus
@ 2009-03-10 16:50 ` Chrissie Caulfield
2009-07-30 7:45 ` Marc
0 siblings, 1 reply; 15+ messages in thread
From: Chrissie Caulfield @ 2009-03-10 16:50 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
>
Oh, the Make system still needs to be finished. I left that to the LVM
maintainers as I'm not good with Makefiles ... people always seem to
feel the need to tidy up after me.
You can add -L /usr/lib/corosync -lcpg -lquorum -lconfdb to the linker
command-line. or /usr/lib64/corosync for 64bit systems. If you feel the
urge.
--
Chrissie
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-03-10 16:50 ` Chrissie Caulfield
@ 2009-07-30 7:45 ` Marc
2009-07-30 9:01 ` Christine Caulfield
0 siblings, 1 reply; 15+ messages in thread
From: Marc @ 2009-07-30 7:45 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
> >
>
>
> Oh, the Make system still needs to be finished. I left that to the LVM
> maintainers as I'm not good with Makefiles ... people always seem to
> feel the need to tidy up after me.
>
> You can add -L /usr/lib/corosync -lcpg -lquorum -lconfdb to the linker
> command-line. or /usr/lib64/corosync for 64bit systems. If you feel the
> urge.
>
Hello Chrissie,
the buildsystem of lvm2 sill (as of version 2.02.50) doesn't link when
using --with-clvmd=cman,corosync
We plan to move over to stable3 on our test-systems and i'm unsure if i
should switch from cman to corosync for clvmd during the change...
What is the best choice in this case?
What is the value of --with-clvmd on rawhide for cluster3?
What differences we have to expect between these two options?
I think a default value of "auto" for --with-clvmd which uses the best
bindings it could find on a system would be nice...
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 7:45 ` Marc
@ 2009-07-30 9:01 ` Christine Caulfield
2009-07-30 10:36 ` Marc
0 siblings, 1 reply; 15+ messages in thread
From: Christine Caulfield @ 2009-07-30 9:01 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 9:01 ` Christine Caulfield
@ 2009-07-30 10:36 ` Marc
2009-07-30 10:42 ` Christine Caulfield
0 siblings, 1 reply; 15+ messages in thread
From: Marc @ 2009-07-30 10:36 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
"all" i can't build because USE_GULM gets in my way:
gcc -m32 -c -I. -I../../include -DUSE_GULM -DUSE_CMAN -DUSE_OPENAIS
-DUSE_COROSYNC -D_REENTRANT -DHAVE_CONFIG_H -DDM_IOCTLS -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 clvmd-command.c -o
clvmd-command.o
In Datei, eingef?gt von clvmd-command.c:77:
clvmd-comms.h:80:35: Fehler: openais/totem/totem.h: Datei oder
Verzeichnis nicht gefunden
make[2]: *** [clvmd-command.o] 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
How can we fix this?
Marc
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 10:36 ` Marc
@ 2009-07-30 10:42 ` Christine Caulfield
2009-07-30 10:52 ` Marc
0 siblings, 1 reply; 15+ messages in thread
From: Christine Caulfield @ 2009-07-30 10:42 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 10:42 ` Christine Caulfield
@ 2009-07-30 10:52 ` Marc
2009-07-30 10:54 ` Christine Caulfield
0 siblings, 1 reply; 15+ messages in thread
From: Marc @ 2009-07-30 10:52 UTC (permalink / raw)
To: cluster-devel.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
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 10:52 ` Marc
@ 2009-07-30 10:54 ` Christine Caulfield
2009-07-30 12:32 ` Marc
0 siblings, 1 reply; 15+ messages in thread
From: Christine Caulfield @ 2009-07-30 10:54 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 10:54 ` Christine Caulfield
@ 2009-07-30 12:32 ` Marc
2009-07-30 12:39 ` Christine Caulfield
0 siblings, 1 reply; 15+ messages in thread
From: Marc @ 2009-07-30 12:32 UTC (permalink / raw)
To: cluster-devel.redhat.com
Am Donnerstag, den 30.07.2009, 11:54 +0100 schrieb Christine Caulfield:
> 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
Maybe you know whom to ask for a fix, a quick and dirty one would be to always check for the corosync things in configure.in (eg remove the if around it).
But i'm still thinking that it should be fixed the right way (eg. remove the substring checks fom the Makefile and set what to build from configure.in) and will try to cook something up if i'm able to spot fo what to check for each clvmd binding...
Marc
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 12:32 ` Marc
@ 2009-07-30 12:39 ` Christine Caulfield
2009-07-30 13:06 ` Marc
0 siblings, 1 reply; 15+ messages in thread
From: Christine Caulfield @ 2009-07-30 12:39 UTC (permalink / raw)
To: cluster-devel.redhat.com
On 30/07/09 13:32, Marc - A. Dahlhaus [ Administration | Westermann GmbH
] wrote:
> Am Donnerstag, den 30.07.2009, 11:54 +0100 schrieb Christine Caulfield:
>> 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
>
> Maybe you know whom to ask for a fix, a quick and dirty one would be to always check for the corosync things in configure.in (eg remove the if around it).
>
> But i'm still thinking that it should be fixed the right way (eg. remove the substring checks fom the Makefile and set what to build from configure.in) and will try to cook something up if i'm able to spot fo what to check for each clvmd binding...
>
Alasdair has checked in a fix to configure - you might like to try that :-)
Chrissie
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 12:39 ` Christine Caulfield
@ 2009-07-30 13:06 ` Marc
2009-07-30 13:11 ` Marc
0 siblings, 1 reply; 15+ messages in thread
From: Marc @ 2009-07-30 13:06 UTC (permalink / raw)
To: cluster-devel.redhat.com
Am Donnerstag, den 30.07.2009, 13:39 +0100 schrieb Christine Caulfield:
> On 30/07/09 13:32, Marc - A. Dahlhaus [ Administration | Westermann GmbH
> ] wrote:
> > Am Donnerstag, den 30.07.2009, 11:54 +0100 schrieb Christine Caulfield:
> >> 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
> >
> > Maybe you know whom to ask for a fix, a quick and dirty one would be to always check for the corosync things in configure.in (eg remove the if around it).
> >
> > But i'm still thinking that it should be fixed the right way (eg. remove the substring checks fom the Makefile and set what to build from configure.in) and will try to cook something up if i'm able to spot fo what to check for each clvmd binding...
> >
> Alasdair has checked in a fix to configure - you might like to try that :-)
Builds fine with the fixes, thanks :-)
How can i control now what backend clvmd will use to propagate the locks
or does it use the right one by default?
Do i need the cman and corosync backends for compatibility with cluster2
or what is the reason behind to build them both?
Marc
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 13:06 ` Marc
@ 2009-07-30 13:11 ` Marc
2009-07-30 13:33 ` Christine Caulfield
0 siblings, 1 reply; 15+ messages in thread
From: Marc @ 2009-07-30 13:11 UTC (permalink / raw)
To: cluster-devel.redhat.com
Am Donnerstag, den 30.07.2009, 15:06 +0200 schrieb Marc - A. Dahlhaus
[ Administration | Westermann GmbH ]:
> Am Donnerstag, den 30.07.2009, 13:39 +0100 schrieb Christine Caulfield:
> > On 30/07/09 13:32, Marc - A. Dahlhaus [ Administration | Westermann GmbH
> > ] wrote:
> > > Am Donnerstag, den 30.07.2009, 11:54 +0100 schrieb Christine Caulfield:
> > >> 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
> > >
> > > Maybe you know whom to ask for a fix, a quick and dirty one would be to always check for the corosync things in configure.in (eg remove the if around it).
> > >
> > > But i'm still thinking that it should be fixed the right way (eg. remove the substring checks fom the Makefile and set what to build from configure.in) and will try to cook something up if i'm able to spot fo what to check for each clvmd binding...
> > >
> > Alasdair has checked in a fix to configure - you might like to try that :-)
>
> Builds fine with the fixes, thanks :-)
>
> How can i control now what backend clvmd will use to propagate the locks
> or does it use the right one by default?
Found that one in the code, man page needs some updating...
> Do i need the cman and corosync backends for compatibility with cluster2
> or what is the reason behind to build them both?
>
>
> Marc
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Cluster-devel] LVM2 clvmd and STABLE3
2009-07-30 13:11 ` Marc
@ 2009-07-30 13:33 ` Christine Caulfield
0 siblings, 0 replies; 15+ messages in thread
From: Christine Caulfield @ 2009-07-30 13:33 UTC (permalink / raw)
To: cluster-devel.redhat.com
On 30/07/09 14:11, Marc - A. Dahlhaus [ Administration | Westermann GmbH
] wrote:
> Am Donnerstag, den 30.07.2009, 15:06 +0200 schrieb Marc - A. Dahlhaus
> [ Administration | Westermann GmbH ]:
>> Am Donnerstag, den 30.07.2009, 13:39 +0100 schrieb Christine Caulfield:
>>> On 30/07/09 13:32, Marc - A. Dahlhaus [ Administration | Westermann GmbH
>>> ] wrote:
>>>> Am Donnerstag, den 30.07.2009, 11:54 +0100 schrieb Christine Caulfield:
>>>>> 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
>>>> Maybe you know whom to ask for a fix, a quick and dirty one would be to always check for the corosync things in configure.in (eg remove the if around it).
>>>>
>>>> But i'm still thinking that it should be fixed the right way (eg. remove the substring checks fom the Makefile and set what to build from configure.in) and will try to cook something up if i'm able to spot fo what to check for each clvmd binding...
>>>>
>>> Alasdair has checked in a fix to configure - you might like to try that :-)
>> Builds fine with the fixes, thanks :-)
>>
>> How can i control now what backend clvmd will use to propagate the locks
>> or does it use the right one by default?
>
> Found that one in the code, man page needs some updating...
>
Oops, yes. I've added that now, thank you.
It does appear in the usage output from 'clvmd -h' :-)
Chrissie
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2009-07-30 13:33 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
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).