Re: Bug#1024516: mariadb-10.6: FTBFS on ia64: ha_archive.so: version node not found for symbol lzma_get_progress@@XZ_5.2

John Paul Adrian Glaubitz <[email protected]> Tue, 22 Nov 2022 11:00:08 +0100
Newsgroups gmane.linux.debian.ports.ia64
Message-ID <[email protected]>
Hello!

On 11/22/22 10:45, John Paul Adrian Glaubitz wrote:
> I suspect the problem is the following code in src/liblzma/common/common.c:
> 
> #ifdef HAVE_SYMBOL_VERSIONS_LINUX
> // This is for compatibility with binaries linked against liblzma that
> // has been patched with xz-5.2.2-compat-libs.patch from RHEL/CentOS 7.
> LZMA_SYMVER_API("lzma_get_progress@XZ_5.2.2",
>          void, lzma_get_progress_522)(lzma_stream *strm,
>                  uint64_t *progress_in, uint64_t *progress_out) lzma_nothrow
>                  __attribute__((__alias__("lzma_get_progress_52")));
> 
> LZMA_SYMVER_API("lzma_get_progress@@XZ_5.2",
>          void, lzma_get_progress_52)(lzma_stream *strm,
>                  uint64_t *progress_in, uint64_t *progress_out) lzma_nothrow;
> 
> #define lzma_get_progress lzma_get_progress_52
> #endif

I can confirm that reverting this commit fixes the problem on ia64 for me:

commit 913ddc5572b9455fa0cf299be2e35c708840e922
Author: Lasse Collin <[email protected]>
Date:   Sun Sep 4 23:23:00 2022 +0300

     liblzma: Vaccinate against an ill patch from RHEL/CentOS 7.
     
     RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded
     encoder that is behind #ifdef LZMA_UNSTABLE in the API headers.
     In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map.
     API/ABI compatibility tracking isn't done between development
     releases so newer releases didn't have XZ_5.1.2alpha anymore.
     
     Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep
     the exported symbols compatible with 5.1.2alpha. After checking
     the ABI changes it turned out that >= 5.2.0 ABI is backward
     compatible with the threaded encoder functions from 5.1.2alpha
     (but not vice versa as fixes and extensions to these functions
     were made between 5.1.2alpha and 5.2.0).

Not sure whether there is a problem with the patch or we're missing a rebuild
of any other package on ia64.

Adrian