Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: GTK pixbuf errors (Read 15228 times) previous topic - next topic
0 Members and 7 Guests are viewing this topic.

Re: GTK pixbuf errors

Reply #15
Many thanks for your prompt replies, Artist and Dudemanguy.

I first encountered a problem a week ago, when, after doing my regular weekly 'pacman -Sy; pacman -Su', claws-mail stopped working, with various incomprehensible error messages.

So, not knowing any better, I did a full recovery from a system backup made immediately before: as expected, this fixed claws-mail (and cherrytree continued working OK). I didn't do anything further at that point.

Today, following what I thought was the correct procedure to ensure no further problems, I replaced gdk-pixbuf2 with the 'noglycin' version, then followed this with the  'pacman -Sy; pacman -Su'. Claws-mail is fine, but cherrytree isn't.

Looking at your posts, I'm uncertain how to proceed - should I
1. return to the standard gdk-pixbuf2 (which will presumably also pull in glycin), or
2. try the 'pacman -S --overwrite' command, or
3. do both?

Re: GTK pixbuf errors

Reply #16
I'm quite curious about the results of 'pacman -S --overwrite', but it's up to you to try that or not.

artist

Re: GTK pixbuf errors

Reply #17
I gave up on gdk-pixbuf2-noglycin. Rednotebook crashed and in my log it said something about I think it was gtk3 that expected gdk-pixbuf2 to be compiled with glycin. It was my own log that I create when i start X and I don't have it anymore.

Re: GTK pixbuf errors

Reply #18
For the ones with pixbuf problems has anyone tried?

Code: [Select]
# find /usr/lib/ -type f -name '*.so' | xargs ldd
# ldd /usr/bin/*

And search for what could be depending on glycin still?

I don't recommend overwriting blobs, when I installed gdk-pixbuf2-noglycin it requested removing gdk-pixbuf2 and that should be enough, but then I did:

Code: [Select]
pacman -Rcsu glycin

And got rid on every dependency, and re-installed libical (I found that one as something I still wanted) or something else (not my case) really depending on glycin.  Of course you might have way more libraries or applications depending on glycin whether such dependency is known to pacman or not.  Actually I don't use the applications mentioned as not working.  But so far so good on my side.

Sadly it seems any gtk is getting harder, and these current tendencies will not stop there as @Shoun2137 mentioned before.  It seems source based distros are a bit better positioned to allow the users reject things (if features are made able to be disabled) at build time, but that's no go for me at least, :(  I remember when I was user sourceMage way before I could choose not to link against dbus and a whole lot of stuff, and it had a check one could enable to make sure no link dependencies were left in the system after any update or upgrade.

For now looking into whether link dependencies would help identify possible culprits I believe.

I'm also sad to see another tendency (GTK included) particularly on crates/rust, like pipeline-gtk and other rust apps which instead of taking advantage of shared libraries, each app builds the whole set of dependencies statically, so one ends up with a bunch of the same stuff all over the place.  I checked on GTK and it seems it has replicated quite some amount of stuff on crates for static builds, and that tells me there's no bright future on apps if they start migrating to rust using cargo and crates.  But I really like GTK CSD and Qt dropped the idea of by configuration supporting both CSD and SSD, and also Qt guys ever since moved to compliant open source libraries have had periods of threatening with not so open source given not seeing their expected revenue I guess.  And I believe rust based Iced is to be mostly used following that tendency, and I can't remember if wayland only as well.

All this rant sort of to mention that user choice seems not to be something current tendencies care about, and GTK sadly is part of that, if not leading it.

Re: GTK pixbuf errors

Reply #19
For the ones with pixbuf problems has anyone tried?

Code: [Select]
# find /usr/lib/ -type f -name '*.so' | xargs ldd
# ldd /usr/bin/*

And search for what could be depending on glycin still?

I have made my own script that search for dependencies based on what libraries it links to, and according to that it is only gdk-pixbuf2 who does. When I had it compiled without glycin none did, and i had problem anyway. (That script is 472 lines of code, so I think it's to big to post here.)
I also have check-rebuild (package: rebuild-detector) which runs as a pacman hook after every update, and it should warn if something needs to be rebuilt. So this is not about a missing library. As I wrote above, something else (I think it was gtk3) expected gdk-pixbuf2 to be compiled with glycin, and when it wasnt, rednotebook crasched, but gtk3 (or whatever package it was) doesn't link to glycin directly.

Edit: I put my script on pastebin, if someone is interested. It depends on python-pyelftools and pyalpm. I don't know how reliable it is.
https://pastebin.com/4LLAFgtx


Re: GTK pixbuf errors

Reply #21
 I tried Artist's suggestion of the Pacman 'overwrite'. Pleased to report that doing this fixed Cherrytree, and - so far - doesn't seem to have caused any undesirable side-affects. It also fixed various missing icons on my (Xfce) desktop.

I, and possibly other people, would be interested to know exactly why it solved the problem.

Is there anything further that I need to do?

Many thanks to all the clever people who make Artix such a pleasure to use.

Re: GTK pixbuf errors

Reply #22
To understand the request for testing, it's about keeping gdk-pixbuf2 instead of gdk-pixbuf2-noglycin and reinstalling libpng librsvg cairo pixman gtk3 hicolor-icon-theme shared-mime-info adwaita-icon-theme libx11 libxcb?  I'm wondering why reinstalling those packages would require overwriting blobs, but just making sure that's the test.

Also, by reading the arch froum topic Bubblewrap everywhere it seems to me even with glycin 2.0.0-5 it remains with issues, as someone mpan mentioned.  I also gave a look to the glycin issue Replace bubblewrap with native sandbox mechanisms, and although I don't really understand sandboxing as someone valoq in there, it still seems to me the current state of glycin is experimental (to be kind) and the current maintainer even mentioned an external component would be preferred to deal with the sandboxing stuff.  So it's not ready for production use in my mind.

Some apps might fail, the one originally reported on the arch forum topic, and on this forum topic might have been solved with current and further patches/cherry-picks, like with glycin 2.0.0-5, but the thing is that glycin is not yet ready.

@Artist, if Cherrytree works with gdk-pixbuf2, does that mean gdk-pixbuf2-noglycin will be dropped?  I got a bit confused.  As mentioned, I don't think at its current state glycin is ready, and if possible should be avoided, and if not one app, then another might/will find issues until getting ready eventually.  I don't use Cherrytree BTW, and things look ok so far with gdk-pixbuf2-noglycin, but I'm not sure if this is going to remain, or why it didn't work for some particular apps.  Too much stuff depends on gdk-pixbuf as to follow the suggestion from the glycin maintainer that gdk-pixbuf as unmaintained (that's why upstream is making it dependent on glycin by default) should be avoided any ways, but that's harsh to do on users.

Re: GTK pixbuf errors

Reply #23
So far it seems the procedure from https://forum.artixlinux.org/index.php/topic,8716.msg52556.html#msg52556 fixes the problem for those who have it. Many do not have it which might be related to timing, as in when the update was done and the time stamp of the involved file(s).

artist

 

Re: GTK pixbuf errors

Reply #24
I have tested this cherrytree on an updated system, without gdk-pixbuf2-noglycin installed.
Cherrytree starts up fine. Also Gimp starts as intended.

But clearly for many users there is some gdk-pixbuf2 problem.

This is what a user reported to fix the problem, but I cannot verify its effectiveness:

Warning: As per https://wiki.archlinux.org/title/System_maintenance#Avoid_certain_pacman_commands :
Generally avoid using the --overwrite option with pacman. The --overwrite option takes an argument containing a glob. When used, pacman will bypass file conflict checks for files that match the glob
.

Make sure to have a backup first.

pacman -S --overwrite '*' libpng librsvg cairo pixman gtk3 hicolor-icon-theme shared-mime-info adwaita-icon-theme libx11 libxcb

artist
...fixes the problem for those who have it. Many do not have it which might be related to timing, as in when the update was done and the time stamp of the involved file(s).

artist

I just got hit with this in thunar/lxappearance/gimp where every single icon theme was the same lowres fallback or completely broken icons:

Provided command in Artist's post fixes it.
Reposting this on this page so that users won't have to jump pages.
EDIT: Investigated further:
This is related to how pre-glycin and post-glycin gdk-pixbuf2 saves it's icon cache. It seems that the structures are different enough that when you try to switch between either of them, at some point the icon cache gets corrupted/invalid. This is why reinstalling with overwritting has an effect, pacman will essentially regenerate caches properly when those packages in the post above are mentioned:
Code: [Select]
:: Processing package changes...
( 1/10) reinstalling libpng                                                                                                                                        [----------------------------------------------------------------------------------------------------] 100%
( 2/10) reinstalling libxcb                                                                                                                                        [----------------------------------------------------------------------------------------------------] 100%
( 3/10) reinstalling libx11                                                                                                                                        [----------------------------------------------------------------------------------------------------] 100%
( 4/10) reinstalling pixman                                                                                                                                        [----------------------------------------------------------------------------------------------------] 100%
( 5/10) reinstalling cairo                                                                                                                                         [----------------------------------------------------------------------------------------------------] 100%
( 6/10) reinstalling shared-mime-info                                                                                                                              [----------------------------------------------------------------------------------------------------] 100%
( 7/10) reinstalling librsvg                                                                                                                                       [----------------------------------------------------------------------------------------------------] 100%
( 8/10) reinstalling hicolor-icon-theme                                                                                                                            [----------------------------------------------------------------------------------------------------] 100%
( 9/10) reinstalling adwaita-icon-theme                                                                                                                            [----------------------------------------------------------------------------------------------------] 100%
(10/10) reinstalling gtk3                                                                                                                                          [----------------------------------------------------------------------------------------------------] 100%
:: Running post-transaction hooks...
(1/5) Updating the MIME type database...
> (2/5) Probing GDK-Pixbuf loader modules...
(3/5) Compiling GSettings XML schema files...
(4/5) Probing GTK3 input method modules...
> (5/5) Updating icon theme caches...


Re: GTK pixbuf errors

Reply #26
pacman -S --overwrite '*' libpng librsvg cairo pixman gtk3 hicolor-icon-theme shared-mime-info adwaita-icon-theme libx11 libxcb
This fixed gimp icons for me, too. Using gdk-pixbuf2-noglycin.