Hello.
Gimp is very useful because it has many plugins, and recently, Resynthesizer (https://github.com/bootchk/resynthesizer) that replaces image parts was broken.
I saw similar issues raised in Arch previously, and I am unsure if reporting it is useful, but at the very least, I couldn't solve it myself yet.
For context, this is a log I see if I update Artix today, build a fresh Resynthesizer out of Git (https://github.com/bootchk/resynthesizer), install it and try to use the "heal selection" function.
Traceback (most recent call last):
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 853, in _run
res = _interact(proc_name, params[1:])
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 372, in _interact
import gimpui
File "/usr/lib/gimp/2.0/python/gimpui.py", line 33, in <module>
import gtk, gobject, gimp, gimpcolor
File "/usr/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 40, in <module>
from gtk import _gtk
File "/usr/lib/python2.7/site-packages/cairo/__init__.py", line 1, in <module>
from ._cairo import * # noqa: F401,F403
ImportError: /usr/lib/python2.7/site-packages/cairo/_cairo.so: undefined symbol: cairo_tee_surface_index
Since it's about Gimpfu requiring PyGTK and Cairo, I expect the same issue to apply to many similar plugins.
Does anyone know a fix?
I wouldn't say a fix but a quick search on 'undefined symbol: cairo_tee_surface_index' suggests using an older version of pycairo. The following post is only a few days old.
https://stackoverflow.com/questions/48049253/python-import-cairo-error-2-7-3-6-undefined-symbol-cairo-tee-surface-inde
Regarding Resynthesizer I just read an issue on their github saying on Arch try to use gimp-git(AUR) as that is apparently not reliant on python 2 any more. However I've no idea if that's good advice.
I've tried to downgrade using those packages, but there are no changes, and it feels like those barely contain anything.
doas pacman -U --noconfirm python2-cairo-1.18.2-4-x86_64.pkg.tar.zst
doas pacman -U --noconfirm python-cairo-1.22.0-1-x86_64.pkg.tar.zst
Thanks for the gimp-git advice; I'm going to try it.
Update: I've installed Gimp-GIT as well, installing gimp-plugin-resynthesizer after. No luck there, Gimp-GIT works, and Resynthesizer doesn't appear in the menu.
This plugin apparently uses python2 according to the backtrace. That's most likely your issue. If anything, I'm surprised it took this long to break.