problem executing perl script from command line using gimp 2.2
I have a perl-fu script I've used in various forms over the years to
automatically burn a copyright string into a photograph. I hacked it from
the tutorial on the gimp.org pages. I call it from the command line with
arguments like "burnit.pl -words "Hi there" -file foo.jpg", which in turn
is called from a database-backed program generating the images when
needed. It's worked pretty nice; I've only modified it a couple times,
most notably last year when I upgraded my system to gimp 2.0.
Unfortunately, this year as I have upgraded to 2.2 I find that I can no
longer execute the script at all. I get the ubiquotous "protocol error
(1)" message:
[erik@pulcher bin]$ ./burnit.pl -v -words "Hi there" -file ~/duo.jpg
trying to start gimp with options ""
Can't exec "": No such file or directory at
/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/Gimp/Net.pm line 179.
burnit.pl: protocol error (1) at
/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/Gimp/Net.pm line 67. (ERROR)
trying to start gimp with options ""
Can't exec "": No such file or directory at
/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/Gimp/Net.pm line 179.
protocol error (1) at /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/Gimp/Net.pm line 67.
I've been combing the list archives all night trying to find an answer.
This is definitely not an issue of not having X running properly, as I
have a display running. I can even run the script from WITHIN gimp, just
not from the commandline. I've tried ripping out the gimp rpm that came
with Fedora Core 4, recompiled gimp 2.2 from source, re-installed
gimp-perl (and its dependencies perl-Gtk2 and perl-Glib). Same result.
Got me worrying that it might not just be my system.
I tried to recompile gimp 2.0, but it seems not to be so happy with
gcc 4.0. I tried to convert the script to python, but I cannot find a way
to run a python script directly from the command line either. When I add
the directory with gimpfu.py to the python libpath, I get the nice error
that the script can only be run from inside the gimp. Another dead end?
OK, next I tried the opposite approach of seeing what it would take to
batch it from the gimp, a la http://www.gimp.org/tutorials/Basic_Batch/
but again, I cannot find an example anywhere that tells how to do this
with anything written in perl, just scheme. I suppose my final step is
going to be to learn scheme and convert the script yet again.
But first I figured I'd post, since maybe someone might have some insight
into why that perl interface has suddenly gone south on me...
Thanks!
- Erik