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