[Development] Linker script / symbols versions for private entries in Qt 6, regression from Qt 5?
Lisandro Damián Nicanor Pérez Meyer
perezmeyer at gmail.com
Tue Apr 19 14:00:57 CEST 2022
On Mon, 18 Apr 2022 at 22:17, Thiago Macieira <thiago.macieira at intel.com> wrote:
>
> On Monday, 18 April 2022 16:37:00 PDT Kevin Kofler via Development wrote:
> > Lisandro Damián Nicanor Pérez Meyer wrote:
> > > Sorry, that should have been
> > >
> > > _ZN10QTableViewC2ER17QTableViewPrivateP7QWidget at Qt_6_PRIVATE_API
>
> That's what I have here:
>
> $ eu-readelf --dyn-syms lib/libQt6Widgets.t.so | grep
> _ZN10QTableViewC2ER17QTableViewPrivateP7QWidget
> 11644: 000000000063bb88 114 FUNC GLOBAL DEFAULT 15
> _ZN10QTableViewC2ER17QTableViewPrivateP7QWidget@@Qt_6_PRIVATE_API
$ eu-readelf --dyn-syms libQt6Widgets.so | grep
_ZN10QTableViewC2ER17QTableViewPrivateP7QWidget
5503: 000000000049c000 43 FUNC GLOBAL DEFAULT 13
_ZN10QTableViewC2ER17QTableViewPrivateP7QWidget@@Qt_6
Not marked as private :-/
> Can you confirm that *17QTableViewPrivate* appears in your src/widgets/
> Widgets.version?
At least for 6.2.2 the tarball does not seems to ship that file. If
it's created at build time I would need to build it (just ping, I'll
happily do it).
> > That should really be
> > _ZN10QTableViewC2ER17QTableViewPrivateP7QWidget at Qt_6.3.0_PRIVATE_API
> > (or whatever exact version you are building), as in the openSUSE patch to Qt
> > 5 that Fedora and some other distributions are also carrying.
> >
> > The point of those private APIs is that they change at every new version, so
> > you want to require rebuilding stuff built with private APIs of the wrong
> > version. If the symbol versioning does not ensure that, it is essentially
> > useless.
>
> Yes and that's very useful for Linux distributions. That patch should be
> upstreamed and enabled by default... but there should be an opt-out for
> developers. Those of us who recompile Qt often and do regression testing may
> need to run code across the version change boundaries without recompiling.
ACK, I'll see what I can do.
--
Lisandro Damián Nicanor Pérez Meyer
https://perezmeyer.com.ar/
More information about the Development
mailing list