Re: git: e94a554e5542 - main - net/libproxy: bump consumers
Date: Wed, 22 Jan 2025 16:48:40 UTC
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. -- Charlie Li ...nope, still don't have an exit line.