http://qs321.pair.com?node_id=190115

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

Here's the situation: I want to use two modules, HTTP::CalendarMonthSimple and Date::Calc (required for the other) for a calendar programme I'm completely revamping. I have FTP access only to my webserver, so I uploaded those two modules (the .pm files) to the webserver under the directory /usr/local/etc/httpd/cgi-bin/calendar/modules and put Calc.pm into /usr/local/etc/httpd/cgi-bin/calendar/modules/Date like it wanted to be. They are called like thus:
use Date::Calc qw(:all);
use HTML::CalendarMonthSimple;

...and I get the following error:
[Wed Aug 14 10:33:55 2002] Calc.pm: [Wed Aug 14 10:33:55 2002] DynaLoader.pm: Can't locate loadable object for module Date::Calc in @INC (@INC contains: /usr/local/etc/httpd/cgi-bin/calendar/modules /usr/lib/perl5/5.00502/i686-linux /usr/lib/perl5/5.00502 /usr/lib/perl5/site_perl/5.005/i686-linux /usr/lib/perl5/site_perl/5.005 .) at index.cgi line 6

Any suggestions?

Foncé

Replies are listed 'Best First'.
Re: Module Failures
by Zaxo (Archbishop) on Aug 14, 2002 at 16:31 UTC

    Date::Calc and its prerequisite Bit::Vector both load extension routines from dll's. On my system the path to the Date::Calc dll is site_perl/5.8.0/i686-linux-thread-multi/auto/Date/Calc/Calc.so.

    To install the module under oppressive circumstances, you must discover the compiler, os, processor, and build flags for perl on the host. 'perl -V' will tell you that, but it sounds like you'll need to cobble up a cgi to tell you the results. Then use that info to build the modules and copy all their installed components over to the host.

    Yes, it's tricky and a nuisance. I'd advise getting a better host.

    After Compline,
    Zaxo

      Ack. Having such limited resources...is there any alternate method to do this, such as other modules that would do the job?

      I hate my job.

      Foncé
        Date::Manip is pure Perl. It can do anything Date::Calc can. But you cannot use it as a drop in replace for Date::Calc, so if the other module depends on Date::Calc, you need to replace that module as well.

        Abigail