Re: LibKF6Breeze Icons and KIconLoader
On 2024-05-27 16:00, Jonathan Riddell wrote: I neon me and David R tracked it down to some optimization probably with the dh_dwz tool from Debian packaging tools, this is the "DWARF optimization and duplicate removal tool" part of the toolchain. And with the discussion here Christoph has yesterday replaced the use of qt_add_big_resources() with qt_add_resources() which also makes the problem go away. https://invent.kde.org/frameworks/breeze-icons/-/commit/fa44b11bc2b36d5c3cfc5c3403ea75b2fff57253 So beware use of qt_add_big_resources() it seems to be fragile to optimising. Hi, thanks for helping to debug that. I added a comment to the qt_add_resources call, should stay that way. I see that the issue in bug https://bugs.kde.org/show_bug.cgi?id=487452 is then resolved and 6.3 will be usable? Greetings Christoph Jonathan
Re: LibKF6Breeze Icons and KIconLoader
I neon me and David R tracked it down to some optimization probably with the dh_dwz tool from Debian packaging tools, this is the "DWARF optimization and duplicate removal tool" part of the toolchain. And with the discussion here Christoph has yesterday replaced the use of qt_add_big_resources() with qt_add_resources() which also makes the problem go away. https://invent.kde.org/frameworks/breeze-icons/-/commit/fa44b11bc2b36d5c3cfc5c3403ea75b2fff57253 So beware use of qt_add_big_resources() it seems to be fragile to optimising. Jonathan
Re: LibKF6Breeze Icons and KIconLoader
On 2024-05-24 10:00, Fabian Vogt wrote: Hi, Am Freitag, 24. Mai 2024, 00:13:11 MESZ schrieb Bernhard Rosenkränzer: On Thursday, May 23, 2024 22:20 CEST, Jonathan Riddell wrote: > Has anyone had issues with Breeze loading using Frameworks 6.2 or > master building the libKF6BreezeIcons.so.6 library in breeze-icons. Yes, there was an oddity here too. When building the package with LTO enabled as we usually do, it fails with ld.lld: error: src/qrc_breeze-icons.o: Invalid bitcode signature while linking libKF6BreezeIcons.so.6.2.0 But I didn't get around to debugging it properly yet, and disabling LTO fixed at least building it. This smells more like an rcc or toolchain bug though (and qrc_breeze-iconstmp.cpp.o looks ok), so it may not be related to the problem you're seeing. That sounds like it uses qt_add_big_resources which is completely broken by design and must not be used. It messes with object file data directly in a way which just breaks everything: https://bugreports.qt.io/browse/QTBUG-73834 As long as you don't use LTO that seems to work fine. But if that is really the issue here and all works well if we use there the normal resource adding and live with the bit longer compile time, I have no problem with changing that. Greetings Christoph Cheers, Fabian ttyl bero
Re: LibKF6Breeze Icons and KIconLoader
Hi, Am Freitag, 24. Mai 2024, 00:13:11 MESZ schrieb Bernhard Rosenkränzer: > On Thursday, May 23, 2024 22:20 CEST, Jonathan Riddell > wrote: > > > Has anyone had issues with Breeze loading using Frameworks 6.2 or > > master building the libKF6BreezeIcons.so.6 library in breeze-icons. > > Yes, there was an oddity here too. When building the package with LTO enabled > as we usually do, it fails with > > ld.lld: error: src/qrc_breeze-icons.o: Invalid bitcode signature > > while linking libKF6BreezeIcons.so.6.2.0 > > But I didn't get around to debugging it properly yet, and disabling LTO fixed > at least building it. > This smells more like an rcc or toolchain bug though (and > qrc_breeze-iconstmp.cpp.o looks ok), so it may not be related to the problem > you're seeing. That sounds like it uses qt_add_big_resources which is completely broken by design and must not be used. It messes with object file data directly in a way which just breaks everything: https://bugreports.qt.io/browse/QTBUG-73834 Cheers, Fabian > ttyl > bero > >
Re: LibKF6Breeze Icons and KIconLoader
Hi, Am Freitag, 24. Mai 2024, 00:13:11 MESZ schrieb Bernhard Rosenkränzer: > On Thursday, May 23, 2024 22:20 CEST, Jonathan Riddell > wrote: > > > Has anyone had issues with Breeze loading using Frameworks 6.2 or > > master building the libKF6BreezeIcons.so.6 library in breeze-icons. > > Yes, there was an oddity here too. When building the package with LTO enabled > as we usually do, it fails with > > ld.lld: error: src/qrc_breeze-icons.o: Invalid bitcode signature > > while linking libKF6BreezeIcons.so.6.2.0 > > But I didn't get around to debugging it properly yet, and disabling LTO fixed > at least building it. > This smells more like an rcc or toolchain bug though (and > qrc_breeze-iconstmp.cpp.o looks ok), so it may not be related to the problem > you're seeing. That sounds like it uses qt_add_big_resources which is completely broken by design and must not be used. It messes with object file data directly in a way which just breaks everything: https://bugreports.qt.io/browse/QTBUG-73834 Cheers, Fabian > ttyl > bero > >
Re: LibKF6Breeze Icons and KIconLoader
On 2024-05-24 00:13, Bernhard Rosenkränzer wrote: On Thursday, May 23, 2024 22:20 CEST, Jonathan Riddell wrote: Has anyone had issues with Breeze loading using Frameworks 6.2 or master building the libKF6BreezeIcons.so.6 library in breeze-icons. Yes, there was an oddity here too. When building the package with LTO enabled as we usually do, it fails with ld.lld: error: src/qrc_breeze-icons.o: Invalid bitcode signature while linking libKF6BreezeIcons.so.6.2.0 But I didn't get around to debugging it properly yet, and disabling LTO fixed at least building it. This smells more like an rcc or toolchain bug though (and qrc_breeze-iconstmp.cpp.o looks ok), so it may not be related to the problem you're seeing. That is an issue with qt_add_bigresource. That doesn't like lto. Greetings Christoph ttyl bero
Re: LibKF6Breeze Icons and KIconLoader
On Thursday, May 23, 2024 22:20 CEST, Jonathan Riddell wrote: > Has anyone had issues with Breeze loading using Frameworks 6.2 or > master building the libKF6BreezeIcons.so.6 library in breeze-icons. Yes, there was an oddity here too. When building the package with LTO enabled as we usually do, it fails with ld.lld: error: src/qrc_breeze-icons.o: Invalid bitcode signature while linking libKF6BreezeIcons.so.6.2.0 But I didn't get around to debugging it properly yet, and disabling LTO fixed at least building it. This smells more like an rcc or toolchain bug though (and qrc_breeze-iconstmp.cpp.o looks ok), so it may not be related to the problem you're seeing. ttyl bero
Re: LibKF6Breeze Icons and KIconLoader
On 2024-05-23 23:47, Jonathan Riddell wrote: have no such issues, but does for you the current code in KIconThemes and KBreezeIcons work? (e.g. if one doesn't revert but uses the master state) No master is equally broken when made into a .deb and equally works when compiled manually. Ok, that is strange, if it really did work in 6.1 but not in 6.2, there is not a lot of stuff that was done there and is still done now. But just reverting KIconThemes from 6.2 to 6.1 fixes it? That would be https://invent.kde.org/frameworks/kiconthemes/-/compare/v6.1.0...v6.2.0?from_project_id=2770=false Did you turn on KICONTHEMES_REGISTER_ICON_PLUGIN via CMake? If not my commit can be ignored. Than it is rather just the BreezeIcons::initIcons(); but that is strange, that only should load the resource and set the fallback theme. Greetings Christoph Jonathan
Re: LibKF6Breeze Icons and KIconLoader
> have no such issues, but does for you the current code in KIconThemes > and > KBreezeIcons work? (e.g. if one doesn't revert but uses the master > state) No master is equally broken when made into a .deb and equally works when compiled manually. Jonathan
Re: LibKF6Breeze Icons and KIconLoader
On 2024-05-23 22:20, Jonathan Riddell wrote: Has anyone had issues with Breeze loading using Frameworks 6.2 or master building the libKF6BreezeIcons.so.6 library in breeze-icons. In neon we found that the icons did not load in Plasma and System Settings and other QML apps. The Breeze theme was not available for selection in System Settings but Breeze Dark was available for selection. This only happened in the packaged build. A manual build was fine. Building the package and copying the library in manually from the build was fine. But building the package and copying the library in manually from the final package broke it. So there's something about the way the .deb packaging gets made that seems to break a path or some other aspect of the library. The error on output from apps when using the broken library is "kf.config.core: Created a KConfigGroup on an inaccessible config location :/icons/breeze/index.theme Icon Theme" For now I've done a workaround of reverting to KIconLoader 6.1. Bug used was https://bugs.kde.org/show_bug.cgi?id=487374 Hi, have no such issues, but does for you the current code in KIconThemes and KBreezeIcons work? (e.g. if one doesn't revert but uses the master state) Greetings Christoph Jonathan
LibKF6Breeze Icons and KIconLoader
Has anyone had issues with Breeze loading using Frameworks 6.2 or master building the libKF6BreezeIcons.so.6 library in breeze-icons. In neon we found that the icons did not load in Plasma and System Settings and other QML apps. The Breeze theme was not available for selection in System Settings but Breeze Dark was available for selection. This only happened in the packaged build. A manual build was fine. Building the package and copying the library in manually from the build was fine. But building the package and copying the library in manually from the final package broke it. So there's something about the way the .deb packaging gets made that seems to break a path or some other aspect of the library. The error on output from apps when using the broken library is "kf.config.core: Created a KConfigGroup on an inaccessible config location :/icons/breeze/index.theme Icon Theme" For now I've done a workaround of reverting to KIconLoader 6.1. Bug used was https://bugs.kde.org/show_bug.cgi?id=487374 Jonathan