Re: git: e94a554e5542 - main - net/libproxy: bump consumers

From: Charlie Li <vishwin_at_freebsd.org>
Date: Wed, 22 Jan 2025 17:57:49 UTC
Charlie Li wrote:
> Tijl Coosemans wrote:
>> On Tue, 21 Jan 2025 10:34:59 -0500 Charlie Li wrote:
>>> Tijl Coosemans wrote:
>>>> On Tue, 21 Jan 2025 08:36:35 -0500 Charlie Li wrote:
>>>>> Tijl Coosemans wrote:
>>>>>> This error means there's something wrong with symbol versioning in
>>>>>> libproxy.  The meson output contains this line:
>>>>>
>>>>> These patches are not necessary. The total rewrite (using glib no 
>>>>> less)
>>>>> introduced a subtle ABI break despite keeping the API pretty much 
>>>>> intact
>>>>> from before, so consumers needed rebuilding.
>>>>
>>>> The patches are needed to restore symbol versions.
>>>>
>>>> Output of "objdump -T libproxy.so | grep text" with and without 
>>>> patches:
>>>>
>>>> 0000000000001d90 g    DF .text    0000000000000028  LIBPROXY_0.4.16 
>>>> px_proxy_factory_free
>>>> 0000000000001d30 g    DF .text    000000000000001b  LIBPROXY_0.4.16 
>>>> px_proxy_factory_new
>>>> 0000000000001cb0 g    DF .text    0000000000000045  LIBPROXY_0.5.5 
>>>> px_proxy_factory_get_type
>>>> 0000000000001d50 g    DF .text    000000000000001a  LIBPROXY_0.5.5 
>>>> px_proxy_factory_copy
>>>> 0000000000001d70 g    DF .text    0000000000000008  LIBPROXY_0.4.16 
>>>> px_proxy_factory_get_proxies
>>>> 0000000000001d80 g    DF .text    000000000000000a  LIBPROXY_0.4.16 
>>>> px_proxy_factory_free_proxies
>>>>
>>>>
>>>> 0000000000001d10 g    DF .text    0000000000000028  Base        
>>>> px_proxy_factory_free
>>>> 0000000000001cb0 g    DF .text    000000000000001b  Base        
>>>> px_proxy_factory_new
>>>> 0000000000001c30 g    DF .text    0000000000000045  Base        
>>>> px_proxy_factory_get_type
>>>> 0000000000001cd0 g    DF .text    000000000000001a  Base        
>>>> px_proxy_factory_copy
>>>> 0000000000001cf0 g    DF .text    0000000000000008  Base        
>>>> px_proxy_factory_get_proxies
>>>> 0000000000001d00 g    DF .text    000000000000000a  Base        
>>>> px_proxy_factory_free_proxies
>>> Lack of symbol versioning in the current version is correct. This is the
>>> subtle (and intentional) ABI break I was referring to which necessitated
>>> rebuilding every consumer hence the PORTREVISION bumps.
>>
>> That doesn't make much sense to me.  Symbol versions are a good
>> practice.  If upstream provides them we should use them.  They are
>> disabled only because a configure test fails with clang (actually lld).
>> That test does succeed with gcc (gnu ld).  This means that a library
>> built with gcc is not ABI compatible with the one built with clang.
>> That's not good.  So please commit or approve the patches.  (There's no
>> need to bump dependent ports again.)
> No. Once again, this software was completely rewritten so the symbol 
> versioning pre-rewrite are completely invalid. They are not provided in 
> this version. Please rebuild your consumers as intended with the 
> PORTREVISION bumps.
> 
Actually I've opened an issue upstream: 
https://github.com/libproxy/libproxy/issues/320

-- 
Charlie Li
...nope, still don't have an exit line.