I want to make a distribution that packages up dependencies for me.
I think Module::Install is supposed to do this for me.
Without the boring details,
So I make a little module, tweak the Makefile.PL thusly:
And I say "make dist", move the tar.gz file over to my other
(windoze) machine, and untar it,
and have what I expect in the inc dir:
I say perl Makefile.PL, and make install - happy:


===========================================
So I make a little module, tweak the Makefile.PL thusly:
use 5.005;
use inc::Module::Install;
name ('SGlicense');
version ('1.02');
include_deps('Crypt::CapnMidNite', 5.004);
include_deps('Filter::Util::Call', 5.004);
build_requires('Crypt::CapnMidNite');
build_requires('Filter::Util::Call');
check_nmake();
&Makefile->write;     <========== I should use &Build->write here instead
maybe?

===========================================
And I say "make dist", move the tar.gz file over to my other
(windoze) machine, and untar it,
and have what I expect in the inc dir:

C:\tmp>tar xvf SGlicense-1.02.tar
SGlicense-1.02/
SGlicense-1.02/SGlicense.pm
SGlicense-1.02/inc/
SGlicense-1.02/inc/Module/
SGlicense-1.02/inc/Module/Install.pm
SGlicense-1.02/inc/Module/Install/
SGlicense-1.02/inc/Module/Install/Fetch.pm
SGlicense-1.02/inc/Module/Install/Makefile.pm
SGlicense-1.02/inc/Module/Install/Include.pm
SGlicense-1.02/inc/Module/Install/Base.pm
SGlicense-1.02/inc/Module/Install/Metadata.pm
SGlicense-1.02/inc/Module/Install/Can.pm
SGlicense-1.02/inc/Module/Install/Win32.pm
SGlicense-1.02/inc/Crypt/
SGlicense-1.02/inc/Crypt/CapnMidNite.pm
SGlicense-1.02/inc/Crypt/License.pm
SGlicense-1.02/inc/Filter/
SGlicense-1.02/inc/Filter/Util/
SGlicense-1.02/inc/Filter/Util/Call.pm
SGlicense-1.02/inc/warnings.pm
SGlicense-1.02/Changes
SGlicense-1.02/MANIFEST
SGlicense-1.02/t/
SGlicense-1.02/t/1.t
SGlicense-1.02/README
SGlicense-1.02/Makefile.PL

===========================================
I say perl Makefile.PL, and make install - happy:

C:\tmp\SGlicense-1.02>perl Makefile.PL
Writing Makefile for SGlicense

C:\tmp\SGlicense-1.02>make install
'make' is not recognized as an internal or external command,
operable program or batch file.

C:\tmp\SGlicense-1.02>nmake install

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

Skipping C:\Perl\site\lib\SGlicense.pm (unchanged)
Writing C:\Perl\site\lib\auto\SGlicense\.packlist
Appending installation info to C:\Perl\lib/perllocal.pod

===========================================
No problems so far.
But when I try to use it:

C:\tmp\SGlicense-1.02>perl -e "use SGlicense;"
Can't locate Filter/Util/Call.pm in @INC (@INC contains: c:/Perl/lib
c:/Perl/site/lib .) at c:/Perl/site/lib/SGlicense.pm line 34.
BEGIN failed--compilation aborted at c:/Perl/site/lib/SGlicense.pm line 34.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

==================================================
I thought "make install" would have installed Filter::Util::Call for me.
Where have I gone wrong here?


-----------------------------
Mr. Lindsay Morris
Lead Architect
www.servergraph.com
512-482-6138 ext 105

Reply via email to