Re: git: a13ec21cd733 - main - textproc/libxml2: Update to 2.9.13 and migrate to CMake

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sun, 27 Mar 2022 00:42:49 UTC
Yasuhiro Kimura <yasu@FreeBSD.org> writes:

> Hi Daniel,
>
> From: Daniel Engberg <diizzy@FreeBSD.org>
> Subject: git: a13ec21cd733 - main - textproc/libxml2: Update to 2.9.13 and migrate to CMake
> Date: Fri, 25 Mar 2022 17:15:02 GMT
>
>> The branch main has been updated by diizzy:
>> 
>> URL: https://cgit.FreeBSD.org/ports/commit/?id=a13ec21cd733f67a9fc0dc00ab45268bdc236246
>> 
>> commit a13ec21cd733f67a9fc0dc00ab45268bdc236246
>> Author:     Daniel Engberg <diizzy@FreeBSD.org>
>> AuthorDate: 2022-03-25 16:51:30 +0000
>> Commit:     Daniel Engberg <diizzy@FreeBSD.org>
>> CommitDate: 2022-03-25 17:14:39 +0000
>> 
>>     textproc/libxml2: Update to 2.9.13 and migrate to CMake
>>     
>>     Depend on ICU and (lib)readline to follow other distros
>>     
>>     Changelog: https://gitlab.gnome.org/GNOME/libxml2/-/tags/v2.9.13
>>     
>>     I'd like to thank both tcberner and mandree for reviewing,
>>     suggesting improvements and helping out in general. I'd also like
>>     thank antoine for doing exp-runs.
>>     
>>     PR:             262288
>>     Reviewed by:    tcberner, mandree
>>     Approved by:    desktop (tcberner)
>>     Differential Revision:  https://reviews.freebsd.org/D34338
>>     Exp-run by:     antoine
>
> After libxml2.so is updated runtime error such as following happens
> with consumers.
>
> yasu@rolling-vm-freebsd2[1015]% dig
> ld-elf.so.1: /usr/local/lib/libxml2.so.2: version LIBXML2_2.6.0 required by /usr/local/bin/dig not defined
> yasu@rolling-vm-freebsd2[1016]%
>
> And it is fixed by rebuilding them.
>
> So PORTREVISION of all consumers need to be bumped.

While bumped in 247c7db7513f the actual issue is missing symbol versioning
due to switch from autotools to cmake. For example, LIBXML2_2.6.0 is defined
in libxml2.syms but only Makefile.am uses it via -Wl,--version-script.
Other distros still use autotools, so didn't experience the ABI break.

See also https://wiki.freebsd.org/SymbolVersioning for a FreeBSD example