This has been suggested before, but I would like to bring it up again... I think that it would be better to disable the installation of all Perl-Fu scripts if any of the required modules (Gtk, PDL, Data::Dumper, Parse::RecDescent) are not detected by the configure script or, more exactly, by Makefile.PL. The argument for installing the scripts anyway is that the user can install the missing modules later. However, I think that it currently does more harm than good. Note that I am not criticizing the Gimp-Perl plug-in itself, only the way the Perl-Fu scripts are installed. I have installed the Gimp on many systems (Linux and Solaris) and the Perl-Fu scripts are working fine on the systems that have perl and all the required modules. But on the systems that do not have perl (it comes with all Linux distros but it is optional) or those that do not have the required modules (because the user did not download them from CPAN), the Perl-Fu scripts crash when the Gimp is started or when they are accessed from the menus. This makes a bad impression and the best solution is usually to uninstall everything, then re-configure with --disable-perl, re-compile and re-install. This extra hassle should not be necessary. Here are a few reasons why I think that the configure script should skip the installation of the Perl-Fu scripts if any of the required modules is missing: - All other plug-ins take the "safe" approach of not installing themselves if any dependency is not satisfied. As far as I know, the Perl plug-in is the only one that tries to install everything and hope that the user will install the missing things later. - I think that most users are updating the Gimp (re-compiling, re-installing) more frequently than they are updating Perl (even if it is only some modules). So there is no reason to force the installation of the Perl-Fu scripts if they could easily be installed later, after having installed the missing modules. One reason for updating the Gimp more frequently is that it is easier to get a single tar file for the Gimp than to have to search for separate modules on CPAN, especially on a computer that has no direct connection to the Internet. Another example: on a multi-user system, the user may not have the required priviledges for installing the Perl modules in the system directories (although the modules could be installed in a private directory if the users take care of modifying their environment.) - The Gimp takes 5 to 6 seconds longer to start if the required Perl modules are missing, because some Perl-Fu scripts crash during start-up and are queried again every time. See the first example included below. Besides, these crashes are not very informative for the user if he is not the one who installed the software and who knows what these messages mean. - The modules that do not crash during start-up will fail anyway when they are used. Except for some things such as the Perl Server, I haven't found a script that was usable without Gtk-Perl. When I attempted to use these scripts, they all started by popping up a dialog box that warns about the missing module, then start some operations and crash before producing any result (which brings another dialog box for reporting the error). Again, for a user who is not the installer, it only makes the Gimp look bad because the menus are cluttered with unusable entries that do nothing else than popping up error boxes. See the second example below. For these reasons, I think that it would be better to use the "safe" method: do not install any (or most of the) Perl-Fu scripts if the required modules are missing during the "configure" phase. And rely on the fact that the person who installed the Gimp will re-install it easily if the Perl modules are installed later. -Raphael ---------- Example 1 ---------- Here are the messages that are displayed every time the Gimp starts, taking 5-6 seconds on a Linux PC that has perl but does not have the required modules from CPAN: Can't locate Gtk.pm in @INC (@INC contains: /usr/lib/perl5/5.00503/i586-linux /usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i586-linux /usr/lib/perl5/site_perl/5.005 .) at /usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 5. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 5. BEGIN failed--compilation aborted at /usr/lib/gimp/1.1/plug-ins/avi line 10. ** WARNING **: wire_read: unexpected EOF (plug-in crashed?) Can't locate Gtk.pm in @INC (@INC contains: /usr/lib/perl5/5.00503/i586-linux /usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i586-linux /usr/lib/perl5/site_perl/5.005 .) at /usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 5. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 5. BEGIN failed--compilation aborted at /usr/lib/gimp/1.1/plug-ins/colorhtml line 9. ** WARNING **: wire_read: unexpected EOF (plug-in crashed?) Can't locate Gtk.pm in @INC (@INC contains: /usr/lib/perl5/5.00503/i586-linux /usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i586-linux /usr/lib/perl5/site_perl/5.005 .) at /usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 5. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 5. BEGIN failed--compilation aborted at /usr/lib/gimp/1.1/plug-ins/dataurl line 10. ** WARNING **: wire_read: unexpected EOF (plug-in crashed?) Can't locate Gtk.pm in @INC (@INC contains: /usr/lib/perl5/5.00503/i586-linux /usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i586-linux /usr/lib/perl5/site_perl/5.005 .) at /usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 5. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 5. BEGIN failed--compilation aborted at /usr/lib/gimp/1.1/plug-ins/miff line 10. ** WARNING **: wire_read: unexpected EOF (plug-in crashed?) ---------- End of example 1 ---------- The second example shows some errors that occur when I attempt to start some Perl-Fu scripts. They all result in at least two dialog boxes popping up: the first one warning me about the missing Gtk-Perl module and saying that the script will run with default values, and the second one reporting a fatal error. Most scripts crash with a PDB error, but some others crash for other reasons. None of them generates any results. Also, the "fire" script ran for about 4 minutes after displaying the first warning, until it eventually crashed like the others. I tried several other scripts besides the ones shown here, and none of them worked without the Gtk module. Note that I have no problem with these scripts on another system that has all Perl modules installed. ---------- Example 2 ---------- sethspin: the gtk perl module is required to open a dialog window, running with default values (perl_fu_seth_spin) sethspin: Unable to grok '' as colour specifier at /usr/lib/gimp/1.1/plug-ins/sethspin line 149 (ERROR) randomart1: the gtk perl module is required to open a dialog window, running with default values (perl_fu_random_art_1) randomart1: gimp_image_new: procedural database execution failed at /usr/lib/gimp/1.1/plug-ins/randomart1 line 38 (ERROR) bricks: the gtk perl module is required to open a dialog window, running with default values (perl_fu_do_bricks) bricks: gimp_patterns_set_pattern: procedural database execution failed at /usr/lib/gimp/1.1/plug-ins/bricks line 27 (ERROR) font_table: the gtk perl module is required to open a dialog window, running with default values (perl_fu_font_table) font_table: Font Table: Size parameter () is invalid at /usr/lib/gimp/1.1/plug-ins/font_table line 37. (ERROR) fire: the gtk perl module is required to open a dialog window, running with default values (perl_fu_fire) ** WARNING **: a calling error occured while trying to run: "gimp_selection_float" ** WARNING **: a calling error occured while trying to run: "gimp_selection_float" fire: function/macro "map_to_gradient" not found in Gimp::Drawable at /usr/lib/gimp/1.1/plug-ins/fire line 31 (ERROR) perlotine: the gtk perl module is required to open a dialog window, running with default values (perl_fu_perlotine) perlotine: No horizontal or vertical guides found. Aborted. at /usr/lib/gimp/1.1/plug-ins/perlotine line 176. (ERROR) ---------- End of example 2 ----------