[Development] QtMultimedia and Musepack
Allan Sandfeld Jensen
kde at carewolf.com
Tue Aug 26 10:27:52 CEST 2014
On Tuesday 26 August 2014, Thiago Macieira wrote:
> On Monday 25 August 2014 22:44:38 Allan Sandfeld Jensen wrote:
> > Using namespace or versioned symbols. I think something like
> > -Wl,--default- symver on all Qt modules and
> > -Wl,--default-imported-symver on anything using Qt modules could solve
> > such crashes in many cases. It doesn't solve all issues though, and
> > versioned symbols have a bad reputation. Finally the two options are not
> > support by the gold linker we now prefer on linux, which would require
> > using version scripts instead.
>
> To properly fix this, we need to break the ABI on either Qt 4 or Qt 5 and
> that will not happen. That's what libudev did when it got integrated into
> systemd and is causing us some headache.
>
> Something for people to remind us for Qt 6.
Well. That would the safe way, and we should keep that in mind for Qt6, but I
believe with symbol versioning it can be done without breaking ABI, assuming
it works as advertised. The libraries would export all symbols as both their
normal form and with @Qt_5 or @Qt_4 added. The libraries would at link time
remember which the version suffix they linked against, and prefer that symbol
at runtime linking. This means the duplicate non versioned symbol shouldn't
cause any issues.
I haven't tried, and some information I found about it, seems to suggest it
can run into bugs in ld.so.
`Allan
More information about the Development
mailing list