What is standard procedure for ActivePerl users to install a module from
CPAN, if the module doesn't come with a .ppd file?  I have ActivePerl build
623 of perl 5.6.0, on Windows 98.

Sometimes you can just download the .gz file from CPAN, extract it, and
copy the relevant directories into your @INC path.  But with a lot of
modules, this isn't enough, and you get errors like "Can't locate loadable
object for module <modulename>" if you "installed" it by just copying the
directory.

The Perl Package Manager (PPM) that comes with ActivePerl is the supported
method for installing packages, but apparently it only works if there is a
.ppd file associated with a given package.  Most of the packages that I
downloaded from CPAN and extracted did not come with .ppd files, although
some did.  And the list at http://www.activestate.com/packages/ only
includes .ppd files for some packages.

The other supported way to install packages is supposedly to run "perl
makefile.pl" with the "makefile.pl" that comes with the package, and then
run "make" with the generated makefile.  Since I'm on Windows, I run
"nmake" (from Visual C++ 6.0), but it often doesn't work with the makefiles
that are generated by "perl makefile.pl".  It will get through most of the
makefile and the die with an error like:
>>>
makefile(466) : fatal error U1035: syntax error : expected ':' or '='
separator
Stop.
>>>
which happens to refer to:
>>>
subdirs ::
@[
        cd MD2                    <======== this is line 466
        $(MAKE) all $(PASTHRU)
        cd ..
]
>>>
A friend suggested getting cygwin32 (sort of a UNIX shell for Windows) and
running their version of "make".  I tried that about a year ago and wasted
two days on it before finding that cygwin32 doesn't work on Windows 9x.

How does everybody else do it?

        -Bennett

[EMAIL PROTECTED]     http://www.peacefire.org
(425) 649 9024
_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
http://listserv.ActiveState.com/mailman/listinfo/perl-win32-users

Reply via email to