RSS/Atom feed Twitter
Site is read-only, email is disabled

problem executing perl script from command line using gimp 2.2

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

3 of 4 messages available
Toggle history

Please log in to manage your subscriptions.

problem executing perl script from command line using gimp 2.2 Erik Olson 07 Jul 07:24
  problem executing perl script from command line using gimp 2.2 Sven Neumann 07 Jul 11:26
20050707121704.GB7763@schmo... 07 Oct 20:23
  problem executing perl script from command line using gimp 2.2 Erik Olson 07 Jul 15:51
Erik Olson
2005-07-07 07:24:06 UTC (almost 19 years ago)

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

Sven Neumann
2005-07-07 11:26:20 UTC (almost 19 years ago)

problem executing perl script from command line using gimp 2.2

Hi,

Erik Olson writes:

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.

I think you need to pass the name of the gimp-perl batch interpreter to gimp using the --batch-interpreter command-line option. Try with

--batch-interpreter extension_perl_server

Sven

Erik Olson
2005-07-07 15:51:37 UTC (almost 19 years ago)

problem executing perl script from command line using gimp 2.2

On Thu, 7 Jul 2005, Marc Lehmann wrote:

On Wed, Jul 06, 2005 at 10:24:06PM -0700, Erik Olson wrote:

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

[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

Something is wrong with your gimp-perl installation. Instead of exec'ing gimp (the path is in $Gimp::Config{GIMP}, so you should look at your Gimp::Config module which is autogenerated) it tries to exec "".

Maybe you need a newer version of gimp-perl (I don't know).

That is definitely the culprit. In Config.pm, the GIMP variable is being set to "" (perhaps something to do with gimp now being a symlink to gimp-2.2?). I manually set that to /usr/local/bin/gimp and I get further.

I'm getting some other errors/warnings now: Subroutine Gimp::gimp_palette_set_foreground redefined at /usr/lib64/perl5/sit
perl/5.8.6/x86_64-linux-thread-multi/Gimp.pm line 603. Subroutine Gimp::gimp_selection_all redefined at /usr/lib64/perl5/site_perl/5.
6/x86_64-linux-thread-multi/Gimp.pm line 603.

but I think I might be able to figure things out from here on..

The version of gimp-perl was Gimp-2.0.tar.gz obtained from ftp://ftp.gimp.org/pub/gimp/plug-ins/v2.0/perl/

Is there a newer version out there?

Thanks again,

- Erik