Comments (10)
Thanks. Your analysis seems correct. I don't understand it either.
The Resynthesize menu item comes from resynthesizer_gui executable, which is written in C. The Heal Selection item comes from a Python script. All I can think of is that Python or PyGimp is not starting correctly. Note that Gimp only reads the Python plugins once, at startup. IOW, restarting Gimp is required after installing Python plugins. Please let me know whether that works.
I also considered that maybe something has changed in GIMP 2.9 but a quick search that others seem to be able to still use Resynthesizer with GIMP 2.9.
I am not familiar with Arch Linux. So I might need to read about pacman and the -git scripts, I don't know who wrote those, it is remotely possible they are flawed.
from resynthesizer.
Restarting gimp didn't help. I've tried deleting ~/.config/GIMP/2.9/pluginrc
and restarting, but it didn't help. Starting gimp with --verbose flag: http://pastebin.com/b2CZyu5s
After that, I downgraded from gimp-git (2.9) to gimp stable (2.8) and the plugin now works fine. So it really is a problem with 2.9. I've read that devs are doing some substantioal things with gegl and maybe something changed about python too.
from resynthesizer.
Thanks. The trace from --verbose seems to indicate that gimp is trying to invoke 'python2', which cannot be found. Try entering that on a command line, or 'which python2', ('which' is a command that tells you how a command is resolved, the path to an executable, more or less.) Or you could test some other Gimp plugin written in Python (off the top of my head, I don't know whether any ship with Gimp.) I would guess that most linux distros have a symbolic link from python2 to some version of python executable. Could that link be missing? Possibly gimp should not be invoking 'python2', but just 'python' (I am not expert at python installations, they can be confusing especially with python3 etc.)
I am not familiar with gimp compatibility, but I would hope that for minor versions (2.9, etc.) they would not break external plugins. So I am dubious about the problem being in Gimp 2.9.
from resynthesizer.
$ which python; which python2; python --version; python2 --version
/usr/bin/python
/usr/bin/python2
Python 3.4.3
Python 2.7.10
from resynthesizer.
OK. I just searched and found your thread on reddit. There you say that the plugin .py scripts have a shebang of ....python2. But it seems like that is not the case in my git repository. So maybe gimp-git is changing them? In the shebang, does /usr/bin/env establish a different env than your personal env? Still thinking...
from resynthesizer.
In AUR gimp-git.git there is this:
make DESTDIR="$pkgdir/" install
# sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' "${pkgdir}"/usr/lib/gimp/2.0/plug-ins/*.py
install -D -m644 "${srcdir}/linux.gpl" "${pkgdir}/usr/share/gimp/2.0/palettes/Linux.gpl"
i.e. gimp-git has a commented out line that was (?not in the latest version) mangling python to python2
I am not familiar with Arch, but this seems relevant.
from resynthesizer.
See this thread:
https://aur.archlinux.org/packages/gimp-git/
A snippet:
@mytbk: You may want to remove the line that's sedding out the
env python
from the PKGBUILD because specifying PYTHON=/usr/bin/python2 before the autogen.sh already takes care of converting the python interpreter (see the generated /usr/lib/gimp/2.0/interpreters/pygimp.interp after you build the package).
When the sed is performed, it prevents ALL of gimp's default python-based plugins from running. Peculiarly, scripts with the env python line left alone still execute fine. I found this out when I saw my Permute Layers plugin still around in gimp 2.9, but not the built-in openraster plugin for gimp.
from resynthesizer.
@bootchk It's aur/gimp-plugin-resynthesizer-git that sed the '/usr/bin/env python' to '/usr/bin/env python2'.
After I change python2 to python in one of the plugin script, that plugin script can be loaded in aur/gimp-git. I'm also curious why this can happen.
from resynthesizer.
OK. As I said previously, maybe the shebang environment has no python2 defined.
If you are in the Arch community, please file a bug report on ...resynthesizer-git.
from resynthesizer.
ok, commenting out the sed line (line 27) in the aur's gimp-plugin-resynthesizer-git PKGBUILD got around the issue. I still don't think it's completely solved, but at least it works now.
from resynthesizer.
Related Issues (20)
- deprecations branch changes HOT 5
- ambiguity in which flatpak package to use HOT 3
- This plug-in didn't work on zorin os 16.1
- Uncrop doesn't work when there is an alpha channel HOT 1
- 404 link to gimp repositry HOT 2
- Nightly releases via GitHub Actions
- Menu strings should use Header Capitalization
- Cannot install in Arch linux HOT 6
- Can't build the deprecations branch on windows. HOT 6
- Not working on Fedora 36 HOT 1
- Most functionality does not appear in GIMP 2.10.30 on Ubuntu 22.04.1 HOT 16
- it doesn't run on ARM64 linux distros HOT 2
- An error occurred running python_fu_heal_selection HOT 2
- Error message HOT 3
- Roadmap for resynthesizer to Gimp 3 HOT 2
- Enhance enlarge by resynthesis
- The input map should be the same size as the input texture image
- resynthesizer_gui plugin crashes Mac OSX Sonoma 14.2 HOT 2
- Misbehaviour on context aware features within folders
- Cant install. no refs exist for plugin
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from resynthesizer.