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

So, I'm running perl 5.005_03 on an AIX box, and upgrading to a newer version isn't an option. I am having issues with LWP (libwww-perl-5.5396), though I suspect it's an installation specific issue.

perl -MLWP::Simple -e 'print get("http://www.perlmonks.org/");'
works fine, while
perl -MLWP::Simple -e 'getprint("http://www.perlmonks.org/");'
produces an error:

500 Can't locate auto/LWP/Protocol/MyHTTP/blocking.al in @INC (@INC contains: /usr/local/lib/perl5/5.00503/ppc-aix4.3 /usr/local/lib/perl5/5.00503 /usr/local/lib/perl5/site_perl/5.005/ppc-aix4.3 /usr/local/lib/perl5/site_perl/5.005 .) <URL:http://www.perlmonks.org/>

Using other LWP modules produces similar errors. So I have a couple questions: Has anyone else had this problem? Can anyone point me to some docs about the .al files?

Replies are listed 'Best First'.
Re: LWP Autoload problem?
by merlyn (Sage) on Oct 15, 2001 at 18:07 UTC
    What happened during "make test" on the installation? Did you install using CPAN.pm? Did you install all the necessary prerequisites?

    -- Randal L. Schwartz, Perl hacker

      I installed from a tarball snagged via http://search.cpan.org/...

      "make test" goes through okay with the exception of some complaints about IO::Socket::INET symbol duplicates (see prior reply).

      Another (possibly) interesting note: there isn't a "blocking.al" file within the LWP distribution tarball.

      What exactly is a .al file, anyways? :P
        "make test" goes through okay with the exception of some complaints about IO::Socket::INET symbol duplicates (see prior reply).
        That means your IO::Socket module is out of date. Did you also install all of the prerequisites, ensuring they were up to date?
        Another (possibly) interesting note: there isn't a "blocking.al" file within the LWP distribution tarball.
        Right, it gets created during the "make all", because it's an autoloaded module.

        -- Randal L. Schwartz, Perl hacker

      I do have another issue of which I'm aware:

      IO::Socket::INET is defined in <perl modules>/$ARCH/IO/Socket.pm

      LWP uses IO::Socket::INET explicitly in a few places (e.g. "use IO::Socket::INET;"), so this introduces a little conundrum. Perl looks for what it expects (<perl modules>/$ARCH/IO/Socket/INET.pm), and failing that, bombs out. Now, altering the "use" statement to "use IO::Socket;" will fix the problem, but this isn't a good thing, since I have to deploy this on a number of machines. Another semi-fix is to create a symlink from <perl modules>/$ARCH/IO/Socket/INET.pm to <perl modules>/$ARCH/IO/Socket.pm this doesn't really help either, since it can cause duplicate references. *sigh*

      however, I currently use the symlink fix, which works in most instances.