On 21/12/17 14:40 +0000, Christine Caulfield wrote: > We are pleased to announce the release of libqb 1.0.3 > > > Source code is available at: > https://github.com/ClusterLabs/libqb/releases/download/v1.0.3/libqb-1.0.3.tar.xz > > > This is mainly a bug-fix release to 1.0.2 > > [...]
Thanks Chrissie for the release; I'd like to take this opportunity to pick on one particularly important thing for "latest greatest pursuing" system deployments and distributions: > High: bare fix for libqb logging not working with ld.bfd/binutils 2.29+ Together with auxiliary changes likewise present in v1.0.3, this effectively allows libqb to fulfil its logging duty properly also when any participating binary part (incl. libqb as a library itself) was build-time linked with a standard linker (known as ld or ld.bfd) from binutils 2.29 or newer. Previous libqb releases would fail one way or another to proceed the messages stemming from ordinary way to issue them under these circumstances (and unless the linker feature based offloading was bypassed, which happens, e.g., for selected architectures [PowerPC] or platforms [Cygwin] automatically). So now, not only the full function of logging was restored, but libqb adapts to the changed behaviour of binutils 2.29+ linker also with defensive (in part opt-in only, see below) measures providing diagnostics in cases at least one such participating binary part was linked with this new v1.0.3 libqb version: * libqb v1.0.3 (linked using arbitrary ld/binutils version) that is run-time used by any other logging binary linked against libqb < v1.0.3 using ld/binutils 2.29+ - libqb will issue a warning/notice to syslog about the probable issue on the side of the logging binary * libqb < v1.0.3 linked using ld/binutils 2.29+ that is run-time used by any other logging binary linked against libqb v1.0.3+ (valid as public-facing binary compatibility remains preserved) will make said binary terminate early on with an explanatory assertion message, showing what precondtion does not hold, but only _under the condition this binary makes a use of QB_LOG_INIT_DATA_ macro[*] (You can find detailed matrices tracking these self-check provisions at the commit messages pertaining the wider changeset on this topic.) [*] for instance, it's the case for pacemaker (cf. CRM_TRACE_INIT_DATA wrapper) and will be the case for corosync as well: https://github.com/corosync/corosync/pull/251) * * * And as mentioned already, but is nevertheless an important point: _public-facing binary compatibility remains preserved_ in this v1.0.3. * * * If you hit any issues, whether linker/logging related or otherwise, please log your reports at the usual location: https://github.com/ClusterLabs/libqb/issues Happy clustering, logging, and the holiday time! -- Jan (Poki)
pgpEorkj8n70e.pgp
Description: PGP signature
_______________________________________________ Users mailing list: Users@clusterlabs.org http://lists.clusterlabs.org/mailman/listinfo/users Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org