in reply to ScanDeps usage

If I run the following code (noname.pl is the name of the file containing the script btw):

use strict; use warnings; use Module::ScanDeps; my $hash_ref = scan_deps(files => ['noname.pl'], recurse => 1,); while (my ($key, $value) = each(%{$hash_ref})) { print "$key, $value<br />\n"; }

I get over 800 lines of output starting:

Set up gcc environment - 3.4.5 (mingw-vista special r3) unicore/lib/gc_sc/InBuhid.pl, HASH(0x64b47ac)<br /> unicore/lib/gc_sc/InGeomet.pl, HASH(0x64b7c84)<br /> unicore/lib/gc_sc/Knda.pl, HASH(0x64c073c)<br />

Note the very first line (which is actually printed to STDERR)! That implies to me that you need a compiler available for the module to run correctly. Could that be your problem?

True laziness is hard work

Replies are listed 'Best First'.
Re^2: ScanDeps usage
by syphilis (Archbishop) on Jul 19, 2012 at 11:09 UTC
    Set up gcc environment - 3.4.5 (mingw-vista special r3)

    When you see that message on ActivePerl (which is the only place you'll ever see it) it tells you that ExtUtils::MakeMaker has been loaded ... not much more than that.

    It does, of course, also indicate that the MinGW compiler will be used if a compiler is needed for the task at hand - but, despite what a sane person might deduce from the message, it by no means indicates that a compiler *is* required.
    It also tells you that $ENV{ACTIVEPERL_CONFIG_DISABLE} (which is the means by which the message can be suppressed) has not been set to a true value ... and that's about the extent of it, afaik.

    Corrections: More accurately, you'll get the "Set up gcc environment" message when ActivePerl::Config::override{'arg'} is called - but only for some values of 'arg' (eg 'cc', 'make', 'ld').
    Loading EU::MM is one way for that to happen, but there are other ways (eg by loading Config.pm and querying $Config{cc}) to trigger the message that *don't* load EU::MM.
    The message can also be suppressed by setting $ENV{ACTIVEPERL_CONFIG_SILENT}. Setting $ENV{ACTIVEPERL_CONFIG_DISABLE} disables the entire alternative (MinGW) config set up completely, whereas you can still use MinGW with ActivePerl if $ENV{ACTIVEPERL_CONFIG_SILENT} is set.

    Cheers,
    Rob