DamnDirtyApe has asked for the wisdom of the Perl Monks concerning the following question:

I have a module that I'm tentatively calling Lib::Simple, and I'm trying to package it for distribution. I used ExtUtils::ModuleMaker to create the stubs, and everything seems to be working well, except for the make install. Here is what happens when I try to install the module:

[root@h24-69-83-179 Lib-Simple-0.0.1]# perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Lib::Simple [root@h24-69-83-179 Lib-Simple-0.0.1]# make Makefile:457: warning: overriding commands for target `Lib-Simple-VERS +ION_SYM' Makefile:449: warning: ignoring old commands for target `Lib-Simple-VE +RSION_SYM' Makefile:457: warning: overriding commands for target `=' Makefile:449: warning: ignoring old commands for target `=' cp lib/Lib/Simple.pm blib/lib/Lib/Simple.pm Manifying blib/man3/Lib::Simple.3 [root@h24-69-83-179 Lib-Simple-0.0.1]# make test Makefile:457: warning: overriding commands for target `Lib-Simple-VERS +ION_SYM' Makefile:449: warning: ignoring old commands for target `Lib-Simple-VE +RSION_SYM' Makefile:457: warning: overriding commands for target `=' Makefile:449: warning: ignoring old commands for target `=' PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" " +test_harness(0, 'blib/lib', '')" t/*.t t/test....ok + All tests successful. Files=1, Tests=44, 0 wallclock secs ( 0.23 cusr + 0.02 csys = 0.25 +CPU) [root@h24-69-83-179 Lib-Simple-0.0.1]# make install Makefile:457: warning: overriding commands for target `Lib-Simple-VERS +ION_SYM' Makefile:449: warning: ignoring old commands for target `Lib-Simple-VE +RSION_SYM' Makefile:457: warning: overriding commands for target `=' Makefile:449: warning: ignoring old commands for target `=' Use of uninitialized value in -d at /usr/local/lib/perl5/5.8.0/File/Pa +th.pm line 141. fileparse(): need a valid pathname at /usr/local/lib/perl5/5.8.0/File/ +Path.pm line 142 make: *** [pure_site_install] Error 255

I'm completely lost on the errors I'm getting here. Can someone tell me what I'm doing wrong, or what other information I should post here?


_______________
DamnDirtyApe
Those who know that they are profound strive for clarity. Those who
would like to seem profound to the crowd strive for obscurity.
            --Friedrich Nietzsche

Replies are listed 'Best First'.
Re: Problem Packaging a Module
by DamnDirtyApe (Curate) on Sep 09, 2002 at 00:05 UTC

    I've overcome part of the problem on my own, but there's still some things that make me uneasy.

    I figured out that the invalid pathname involved my system not having the dirs it exepected for man pages. I updated my Makefile.PL file to look like this:

    use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( NAME => 'Lib::Simple', VERSION_FROM => 'lib/Lib/Simple.pm', # finds $VERSION AUTHOR => 'Doug Gorley (douggorley@shaw.ca)', ABSTRACT => 'A module for managing simple libraries.', INSTALLSITEMAN1DIR => 'none', INSTALLSITEMAN3DIR => 'none' );

    Once this was done, I could install the module correctly. However, a few things are bugging me:

    • The warnings from the Makefile still appear.
    • make install produces the following:
      Makefile:461: warning: overriding commands for target `Lib-Simple-VERS +ION_SYM' Makefile:453: warning: ignoring old commands for target `Lib-Simple-VE +RSION_SYM' Makefile:461: warning: overriding commands for target `=' Makefile:453: warning: ignoring old commands for target `=' Installing blib/man1/blib/man1/vicq Installing blib/man1/blib/man1/aim Installing blib/man1/blib/man1/perl5.8.0 Installing blib/man1/blib/man1/perl Installing blib/man1/blib/man1/a2p Installing blib/man1/blib/man1/xsubpp Installing blib/man1/blib/man1/pod2html Installing blib/man1/blib/man1/pod2latex Installing blib/man1/blib/man1/pod2man Installing blib/man1/blib/man1/pod2text Installing blib/man1/blib/man1/pod2usage Installing blib/man1/blib/man1/podchecker Installing blib/man1/blib/man1/podselect Installing blib/man1/blib/man1/c2ph Installing blib/man1/blib/man1/dprofpp Installing blib/man1/blib/man1/enc2xs Installing blib/man1/blib/man1/h2ph . . .
      and on and on and on, refering to a ton of stuff under blib/ that has nothing at all to do with my module. Why is this?

    Additional Note (2002-09-09): I'm using Perl 5.8.0 on Red Hat Linux 7.3, with ExtUtils::ModuleMaker 0.204 and ExtUtils::MakeMaker 6.05.


    _______________
    DamnDirtyApe
    Those who know that they are profound strive for clarity. Those who
    would like to seem profound to the crowd strive for obscurity.
                --Friedrich Nietzsche
Re: Problem Packaging a Module
by Beatnik (Parson) on Sep 08, 2002 at 22:59 UTC
    h2xs works usually fine for me but you might want to add a line for dist. Try
    h2xs -X -n Lib::Simple
    from the command line. But I suggest you check the POD before trying stuff :)

    Greetz
    Beatnik
    ...Perl is like sex: if you're doing it wrong, there's no fun to it.