Re: LibKF6Breeze Icons and KIconLoader

2024-05-27 Thread christoph

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

2024-05-27 Thread Jonathan Riddell
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

2024-05-24 Thread christoph

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

2024-05-24 Thread Fabian Vogt
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

2024-05-24 Thread Fabian Vogt
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

2024-05-23 Thread christoph

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

2024-05-23 Thread 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.

ttyl
bero



Re: LibKF6Breeze Icons and KIconLoader

2024-05-23 Thread christoph

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

2024-05-23 Thread Jonathan Riddell
> 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

2024-05-23 Thread christoph

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

2024-05-23 Thread Jonathan Riddell
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