in reply to Re^5: Chart::Clicker Question
in thread Chart::Clicker Question

Thanks for the help, but I don't understand. Could you explain this more?

Are you saying that I can't rely upon ExtUtils::Installed because the .packlist files with the modules I download from CPAN might not be compliant, and therefore these modules won't show up when I look for them using my script?

If this is the case, is there another way to verify that this LONG list of modules is in fact correctly installed on my server?

For the halibut, I wrote:

#!/usr/local/bin/perl use strict; use warnings; use Test::Tester; use Test::PDF; use ExtUtils::PkgConfig; use ExtUtils::Depends; use Cairo; use Test::LongString; use Text::Flow; use Graphics::Primitive::Driver::Cairo; use Math::Gradient; use Set::Infinite; use DateTime::Set; use Algorithm::Diff; use Text::Diff; use Test::Differences; use Color::Scheme; use Class::Data::Inheritable; use Class::Accessor::Fast; use Module::Pluggable; use Color::Library; use Test::Number::Delta; use MooseX::Aliases; use Graphics::Color; use Forest; use Graphics::Primitive; use MooseX::AttributeHelpers; use JSON::Any; use File::Path; use File::NFSLock; use IO::Dir; use Path::Class; use Carp::Clan; use MooseX::Types; use MooseX::Types::Path::Class; use Test::TempDir; use Test::NoWarnings; use Test::Tester; #use Test::Deep; use String::RewritePrefix; use MooseX::Storage; use Math::Complex; use Check::ISA; use Hash::Util::FieldHash::Compat; use Algorithm::C3; use Class::C3; use MRO::Compat; use Scope::Guard; use Devel::GlobalDestruction; use Class::MOP; use Try::Tiny; use Moose; use Task::Weaken; use XSLoader; use base; use Variable::Magic; use Data::OptList; use Sub::Install; use Params::Util; use Sub::Exporter; use B::Hooks::EndOfScope; use Sub::Identify; use Sub::Name; use Package::Stash; use namespace::clean; use Tie::RefHash; use Test::use::ok; use Tie::ToObject; use Data::Visitor; use MooseX::Clone; use Geometry::Primitive; use ExtUtils::MakeMaker; use Layout::Manager; use Time::Local; use List::MoreUtils; use DateTime::Locale; use File::Temp; use Exporter; use ExtUtils::ParseXS; use Module::Build; use Attribute::Handlers; use ExtUtils::CBuilder; use Params::Validate; use Class::Singleton; use DateTime::TimeZone; use Test; use Text::Wrap; use Pod::Escapes; use Pod::Simple; use File::Spec; use Pod::Man; use Sub::Uplevel; use Test::Exception; use Test::Harness; #use Test::More; use Scalar::Util; use DateTime; use Chart::Clicker; print "\nNo module import errors!\n\n"; exit;

But surely there is a better way to do this sort of thing?

Thanks!

Replies are listed 'Best First'.
Re^7: Chart::Clicker Question
by Anonymous Monk on Oct 31, 2010 at 17:04 UTC
    .packlist files with the modules I download from CPAN might not be compliant,

    ExtUtils::Installed

    ExtUtils::Installed provides a standard way to find out what core and module files have been installed. It uses the information stored in .packlist files created during installation to provide this information. In addition it provides facilities to classify the installed files and to extract directory information from the .packlist files.
    So, if you install with cpan/Makefile.PL... it will make .packlist when you install.

    If you install with apt-get and other OS specific tools, often times they will not make .packlist files , as such they're broken tools.

    If this is the case, is there another way to verify that this LONG list of modules is in fact correctly installed on my server?

    Does

    • useing the module successfully
    • checking that all the files listed in .packlist exist/compile
    verify that the module is correctly installed?

    I just let CPAN/CPANPLUS handle it

      I'd like to thank everyone who helped me with Chart::Clicker. I thought that I should follow up here with another post to summarize things (for the benefit of others).

      I had two problems. First, there is a problem with the Chart::Clicker installation on my Linux server. Chart::Clicker has nearly 100 dependencies. I have a very reputable external host in Chicago, and I used the automated installation tools included with my site's CPanel to install my Perl modules. When that failed, I resorted to manual installation (make, make test, make install). We think all of the dependencies are now installed correctly. I should mention that this is a Linux machine running Perl 5.8.8. According to CPAN, Chart::Clicker should run fine on this platform.

      However, when I use Chart::Clicker to render a chart on this system, it only works if I *hide* the range axis. The moment I make the range axis visible, I get a blank chart with a single horizontal line (representing the domain axis).

      I performed a second installation on my local machine (Mac OSX - 10.6.4 running Perl 5.8.9). I installed Chart::Clicker and it's dependencies using CPAN, CPANP and manually (where CPAN & CPANP failed). It wasn't easy, but I managed to get all of the modules installed. Everything is working great on my Mac.

      So at this point in time, I know Chart::Clicker works, but I still don't have it up and running where I need it.

      My host is working on the problem with me today, and I have an email in to Chart::Clicker's developer, Cory Watson. I'm hopeful that we will find the problem for two reasons: (1) I've invested significant time in Chart::Clicker so I'd really like to see a return on that investment & (2) it is cool software!

      I'll post back with the final results ...

      Thanks again Monks! Very helpful as usual!