[ClusterLabs] Upgrade corosync problem
jpokorny at redhat.com
Mon Jul 9 11:06:34 EDT 2018
On 06/07/18 15:25 +0200, Salvatore D'angelo wrote:
> On 6 Jul 2018, at 14:40, Christine Caulfield <ccaulfie at redhat.com> wrote:
>> Yes. you can't randomly swap in and out hand-compiled libqb versions.
>> Find one that works and stick to it. It's an annoying 'feature' of newer
>> linkers that we had to workaround in libqb. So if you rebuild libqb
>> 1.0.3 then you will, in all likelihood, need to rebuild corosync to
>> match it.
> The problem is opposite to what you are saying.
> When I build corosync with old libqb and I verified the new updated
> node worked properly I updated with new libqb hand-compiled and it
> works fine.
> But in a normal upgrade procedure I first build libqb (removing
> first the old one) and then corosync, when I follow this order it
> does not work.
> This is what make me crazy. I do not understand this behavior.
I will assume you have all the steps right, like issuing equivalent
of "make install" once you've built libqb, assuring that system-native
(e.g. distribution packages) libqb and corosync won't be mixed here,
simply that you are cautious.
>> On 06/07/18 13:24, Salvatore D'angelo wrote:
>>> if I launch corosync -f I got:
>>> *corosync: main.c:143: logsys_qb_init: Assertion `"implicit callsite
>>> section is populated, otherwise target's build is at fault, preventing
>>> reliable logging" && __start___verbose != __stop___verbose' failed.*
The extreme and discouraged workaround is to compile corosync with
something like: "make CPPFLAGS=-DQB_KILL_ATTRIBUTE_SECTION", even though
we'd rather diagnose why this happens in the first place.
That apart, it'd be helpful to know output from the following commands
once you have corosync binary (symbolically referred to as $COROSYNC)
in a state the avouve error will be reproduced and you didn't change
anything about your build environment:
# version of the linker
bash -c 'paste <(ld --version) <(ld.bfd --version) | head -n1'
# how does the ELF section/respective symbols appear in the binary
readelf -s $COROSYNC | grep ___verbose
Hopefully, it will allow us to advance here.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 819 bytes
Desc: not available
More information about the Users