tags -1 + confrimed

On Sat, Mar 28, 2026 at 08:19:55AM +0200, Adrian Bunk wrote:
> Source: thorvg
> Version: 1.0.2+dfsg-1
> Severity: important
> Tags: ftbfs
> 
> https://buildd.debian.org/status/logs.php?pkg=thorvg&ver=1.0.3%2Bdfsg-1
> 

Many thanks, confirmed \o/

The symbol differences appear on all 32-bit archs:

  armhf i386 hppa m68k powerpc sh4

> ...
>    dh_makeshlibs -a -O--buildsystem=meson
> dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see 
> diff output below
> dpkg-gensymbols: error: some symbols or patterns disappeared in the symbols 
> file: see diff output below
> dpkg-gensymbols: warning: debian/libthorvg1/DEBIAN/symbols does not match 
> completely debian/libthorvg1.symbols
> --- debian/libthorvg1.symbols (libthorvg1_1.0.3+dfsg-1_armhf)
> +++ dpkg-gensymbolsboQCjz     2026-03-28 06:12:40.488603052 +0000
> @@ -248,7 +248,8 @@
>   
> _ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN3tvg17TaskSchedulerImplC4EjEUlvE_EEEEED1Ev@Base
>  1.0.1
>   
> _ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN3tvg17TaskSchedulerImplC4EjEUlvE_EEEEED2Ev@Base
>  1.0.1
>   _ZNSt6thread24_M_thread_deps_never_runEv@Base 1.0.1
> - _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm@Base 
> 1.0.1

std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>::_M_mutate(
    unsigned long,
    unsigned long,
    const char*,
    unsigned long
)

> + _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj@Base 
> 1.0.3+dfsg-1

std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>::_M_mutate(
    unsigned int,
    unsigned int,
    const char*,
    unsigned int
)

> +#MISSING: 1.0.3+dfsg-1# 
> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm@Base 
> 1.0.1
>   _ZTVN3tvg14LinearGradientE@Base 1.0.1
>   _ZTVN3tvg14RadialGradientE@Base 1.0.1
>   _ZTVN3tvg15LottieAnimationE@Base 1.0.1
> @@ -268,8 +269,10 @@
>   
> _ZTVNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN3tvg17TaskSchedulerImplC4EjEUlvE_EEEEEE@Base
>  1.0.1
>   _ZdaPv@Base 1.0.2
>   _ZdlPv@Base 1.0.1
> - _Znam@Base 1.0.2

operator new[](unsigned long)

> - _Znwm@Base 1.0.1

operator new(unsigned long)

> + _Znaj@Base 1.0.3+dfsg-1

operator new[](unsigned int)

> +#MISSING: 1.0.3+dfsg-1# _Znam@Base 1.0.2
> + _Znwj@Base 1.0.3+dfsg-1

operator new(unsigned int)

> +#MISSING: 1.0.3+dfsg-1# _Znwm@Base 1.0.1
>   tvg_accessor_del@Base 1.0.1
>   tvg_accessor_generate_id@Base 1.0.1
>   tvg_accessor_new@Base 1.0.1
> dh_makeshlibs: error: failing due to earlier errors
> make: *** [debian/rules:6: binary-arch] Error 25

It seems all occurrences of std::size_t are mangled as m (unsigned long)
on 64-bit archs, while as j (unsigned int) on 32-bit archs.

This appears to be a normal 32-bit ABI difference.

I will add arch-specific conditions to the .symbols file for these diffs
and reupload.

Many thanks!

-- 
Jongmin Kim
D3D7 A235 22B6 41FB 78AC  C775 0000 01EF CF1A 50FA

Attachment: signature.asc
Description: PGP signature

Reply via email to