Ron Savage wrote:
> Hi Michael
>
> I'd like to discuss several issues re ExtUtils::MakeMaker,
> so I'll number the sections for clarity.
>
> All this is on `uname -all`:
> SunOS ssapp0117 5.9 Generic_117171-15 sun4u sparc SUNW,Sun-Fire-V890
> with 24 Gb of RAM.
> My test box has got 64 Gb (heh heh heh).
>
> (1)
> I install all modules in my own dir, so here's how I get the version number:
> $PERL -I$INSTALL -MExtUtils::MakeMaker -e 'print
> "$ExtUtils::MakeMaker::VERSION\n"'
> No surprise there.
> Now, 2 outputs from installing V 6.31, separated by lines of equal signs.
> In the first case I unpacked the distro, cd'ed into the dir, and run the
> command which follows. In the second case I ran the same command
I'm going to deal with this in a separate post since it looks complicated.
> (2)
> When I install a module which depends on another module, and the latter
> is already installed in my dir, my command
> $PERL -I$INSTALL Makefile.PL PREFIX=$INSTALL LIB=$INSTALL
> works in terms of finding the dependency, but does not work when running
> the tests. It seems -I$INSTALL is not passed thru to the testing phase.
> Is this correct? I read the docs for ExtUtils::MakeMaker and the FAQ
> but could not see anything referring to this matter.
> Is there something I can do to humour 'make test'?
Yes, this is correct. The @INC from Makefile.PL does not get passed along to
your tests. You should instead be setting the PERL5LIB environment variable to
your $INSTALL directory. This will have the additional benefit in that you no
longer have to put -I$INSTALL on all your perl commands to find your installed
modules.
> (3)
> The FAQ, under Module Installation, says:
> perl Makefile.PL INSTALL_BASE=~
> It'd help Windows users if this was added:
> Under MS Windows, use instead:
> perl Makefile.PL INSTALL_BASE=\perl-modules
> Then a few lines down:
> use lib "$ENV{HOME}/lib/perl5";
> would become:
> use lib "/perl-modules/lib/perl5";
I'm inclined to say that if your pointy hat isn't high enough to figure that
out you shouldn't be installing Perl modules. If there's one Unix-centric
thing a Windows programmer is likely to run into its ~ as its such a convenient
shorthand.
But I'll remove some of the tildes.
> (4)
> The FAQ, under Philosophy and History, says:
> pure perl. no make, no shell commands
> This makes me uneasy, since I believe now that M::B depends on
> a module which requires a compiler, so, although strictly true,
> your can't install M::B without a compiler. Sigh.
> Is that worth clarifying?
Module::Build still does not require anything which needs to be compiled.
http://search.cpan.org/src/KWILLIAMS/Module-Build-0.2805/META.yml
requires:
Cwd: 0
Data::Dumper: 0
ExtUtils::Install: 0
ExtUtils::Manifest: 0
ExtUtils::Mkbootstrap: 0
File::Basename: 0
File::Compare: 0
File::Copy: 0
File::Find: 0
File::Path: 0
File::Spec: 0.82
Getopt::Long: 0
IO::File: 0
Test::Harness: 0
Text::Abbrev: 0
Text::ParseWords: 0
perl: 5.005_03
And amongst what it recommends I believe they can all be installed without a
compiler.
recommends:
Archive::Tar: 1.08
ExtUtils::CBuilder: 0.15
ExtUtils::Install: 0.3
ExtUtils::ParseXS: 1.02
Module::Signature: 0.21
Pod::Readme: 0.04
version: 0.661