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 10:45:12 +0100
Newsgroups gmane.linux.debian.ports.ia64
Message-ID <[email protected]>
Control: reassign -1 src:xz-utils
Control: affects -1 src:mariadb-10.6

Hello!

On 11/22/22 08:33, Sebastian Andrzej Siewior wrote:
>> FWIW, there have been changes to the symbols file of src:xz-utils by Sebastian (CC'ed) which
>> might be responsible for this regression on ia64 with liblzma [1].
>>
>> I will build a test package on the porterbox yttrium with the changes reverted and see if that
>> fixes the problem.
> 
> Interesting. So only ia64 is failing here? Everyone else is fine?

So far, the issue has been observed on ia64 only. However, my initial suspicion
was wrong and it doesn't seem to be related with the symbols file.

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

It seems that ia64 is expecting the symbol to be named "lzma_get_progress@XZ_5.2"
and not "lzma_get_progress@XZ_5.2.2".

Downgrading liblzma5 and liblzma-dev to 5.2.5-2.1 fixes the problem. Version
5.3.4alpha-0.0 from experimental is affected as well.

Since this is not a problem in mariadb-10.6, I'm changing the package to src:xz-utils.

Adrian