-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.10.0 Beta3
-
None
-
be840571d (6.10)
When trying to run the simplebrowser example with Qt 6.10.0 installed via MaintenanceTool, I get:
./simplebrowser: symbol lookup error: .../qt/bin/6.10.0/gcc_64/lib/libQt6WebEngineCore.so.6: undefined symbol: _ZN4QRhi6createENS_14ImplementationEP14QRhiInitParams6QFlagsINS_4FlagEEP17QRhiNativeHandles, version Qt_6_PRIVATE_API
Demangled this is QRhi::create(QRhi::Implementation, QRhiInitParams*, QFlags<QRhi::Flag>, QRhiNativeHandles*), but only the symbol without the added last argument is present:
$ nm -gDC .../qt/bin/6.10.0/gcc_64/lib/libQt6Gui.so.6.10.0 | grep QRhi::create 0000000000468500 T QRhi::create(QRhi::Implementation, QRhiInitParams*, QFlags<QRhi::Flag>, QRhiNativeHandles*, QRhiAdapter*)@@Qt_6_PRIVATE_API
From what I understand, this changed in rhi: Introduce a way to enumerate adapters/physical devices (615647) · Gerrit Code Review (but none of the calls in src/core/web_engine_context.cpp pass that last argument).
From Policies/Binary Compatibility Issues With C++ - KDE Community Wiki:
you cannot... Change its signature. This includes: [...] Extending a function with another parameter, even if this parameter has a default argument. See below for a suggestion on how to avoid this issue
But given this is private API, maybe it's QtWebEngine which needs to adjust to the new usage?