Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Problems with PPM under ActivePerl 5.8.4.810

by driver8 (Scribe)
on Nov 07, 2004 at 00:45 UTC ( [id://405830]=perlquestion: print w/replies, xml ) Need Help??

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

Hi, I've been having problems searching and querying on PPM 3.1. I'm running Windows XP SP2 on a Pentium 4 2.8 with 512 ram, and I have uninstalled and re-installed the latest ActivePerl from ActiveState multiple times in different directories with no improvement.

I type 'ppm' at the command promt and the PPM console loads up just fine. Everything seems good until I try typing 'search <whatever>' or 'query *'. At this point it still looks "ok" -- there is no error given nor any indication that something isn't working -- but it never retuns anything. I have waited on a 'query *' overnight with no result. Here is a dump of the text from the ppm console to maybe give a better idea of what is happening:

C:\Perl>ppm PPM - Programmer's Package Manager version 3.1. Copyright (c) 2001 ActiveState Corp. All Rights Reserved. ActiveState is a devision of Sophos. Entering interactive shell. Using Term::ReadLine::Stub as readline lib +rary. Type 'help' to get started. ppm> query * Querying target 1 (ActivePerl 5.8.4.810)

Nothing ever happens after that. I'm starting to run out of patience here. Any ideas?

Replies are listed 'Best First'.
Re: Problems with PPM under ActivePerl 5.8.4.810
by BrowserUk (Patriarch) on Nov 07, 2004 at 01:44 UTC

    I think the clue may be in one word (token) in your post--SP2.

    Did you allow--which probably means: "not specifically disable"--SP2 to install the MS firewall thing?

    If so, then it seems likely that this probably silently preventing PPM from making a connection out to the internet.

    What you do about it? Sorry, but I have no idea.


    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "Think for yourself!" - Abigail
    "Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon

      Thanks for replying, BrowserUk. The Windows firewall is definitely disabled. Not that it should matter for local queries, though.

Re: Problems with PPM under ActivePerl 5.8.4.810
by PERLscienceman (Curate) on Nov 07, 2004 at 13:20 UTC
    Greetings Fellow Monk:

    As one of the steps taken I see that you did install/uninstall the ActivePerl.
    Question for you: Did you install 5.8.4.810 new or did you already have a previous version of ActiveState Perl, say 5.8.3.809, already inplace?
    In the past, with the same OS, I have had a similiar problem(s) with the PPM whereby it either does precisely what you have mentioned (PPM essentially freezes), or PPM reports the previous version.
    The apparent problem: It appears that Active Perl and the PPM are not completely un-installed when you go through the 'normal un-install procedure. 'Things', (files, dirs, etc.) are left behind.
    SOLUTION:
    Once you have completed the normal un-install procedure, go and search for directories such as:
    C:\perl\
    C:\Program Files\ActiveState\PPM\ (I have seen this in older versions)
    and....DELETE THEM!
    This course of action solved the problem that you mentioned for me when I encountered it. I have reported these problems to ActiveState a few versions ago.
    Best of Luck..... I hope this helps.

      PERLscienceman, thanks for your reply.

      When I first installed ActivePerl 5.8.4.810, I did install it over my old 5.8.3.809. When I found ppm was no longer working, I thought this might have been part of the problem. Since then, I have uninstalled both, deleted all perl folders, and reinstalled 5.8.4.810. As I said, I have uninstalled and re-installed many times at this point. I even tried installing 5.8.3.809 again, but there was no change. Just today, after uninstalling again, I did a full system search for "perl" and deleted everything that looked like it could possibly have something to do with ActivePerl. I then installed again, and still there was no change.

      Since I made my first post, I have found some other peculiar things. When trying to use LWP::Simple, if I use the 'get($url);' function, the script will hang until I ctrl-C it, just like with ppm. The getprint() function behaves exactly as it should, but, looking at the source, it doesn't seem to work the same way as get() does (no *Socket* AFAICT). I also had the same thing happen with one of the LWP test scripts -- it never failed, it just sat there until I killed it.

      I think I may have found the common thread in all of these. It seems that the things that display this problem all involve 'Socket' or 'IO::Socket' or some sort of socket. I don't know much about sockets, but I did track down the point where LWP::Simple hangs, and it is right where it tries to print to the IO::Socket::INET object at line 169. A warn statement added right before the print gets issued, but one right after does not. So it appears the real issue here may be a socket problem. Unfortunately I know nothing about sockets. Anybody have any advice on this issue? I guess I'll have to start reading up on sockets...

      Update: I also just managed to track down the point where PPM hangs during a query to line 272 of PPM::Installer, where it tries to print to a socket.

      -driver8
        Like erix and others, PPM is working for me, which isn't helpful, but ...
        When I first installed ActivePerl 5.8.4.810, I did install it over my old 5.8.3.809.
        Oops! Upgrading from ActivePerl 5.8.x mandates uninstalling first. I know that I have gotten into the habit of not using C:\Perl but rather things like C:\Perl584 . I may be repressing the distressing memories that got me into doing that.

        ... deleted everything that looked like it could possibly have something to do ...
        Did that include also removing the left-over environment variables?

        Installing ActivePerl on Windows (see subheading Perl Environment Variables)
        Perl Environment Variables: if Perl environment variables such as PERLLIB, PERL5LIB or PERL5OPT have been set on your system, you should unset them before installing ActivePerl. Otherwise, these variables may cause incompatible versions of Perl modules to be used during the installation process.
        This is found at Start / ControlPanel / System / Advanced tab / Environment Variables button . You will also want to look at the PATH variable.

        Did that include also removing the registry entries that might have been left-over from not uninstalling? For registry keys, on my system using the regedit utility and searching for 'perl' I found the registry keys and values:
        (sorry, but there's lots of hits on 'hyperlink' and 'properly' and the like:

        After another iteration of uninstalling everything, try using regedit to see what trash may still be laying around in the registry. I don't know how important this may be, but you're already in the Twilight Zone so who knows? There is a note that these keys may be under HKEY_CURRENT_USER rather than HKEY_LOCAL_MACHINE depending on the user you installed with.

        Good luck! And if you think this is bad, try installing SP2 over an existing Norton Internet Security installation without first uninstalling it. That boo-boo took hours just to track down all the remedial procedures and print them out. Then my brother-in-law made exactly the same mistake ...

        I had similar issues (on XP version up to SP1) when I installed Perl into a directory whose name contained spaces (i.e. c:\program files\whatever), a practice *not* recommended in release notes. Despite the installation going (apparently) properly to its end, ppm was not working at all, with symptoms like yours.

        Two remedies, out of this:

        1. install to c:\perl\ (or any other name of your choice, but *not* including spaces)

        2. use an old-inherited DOS-trick of defining extended directory names in 8.3 notation (via the tilde, so that "c:\program files\whatever" becomes "c:\progra~1\whatever")

        Perl vobiscum
        ric
Re: Problems with PPM under ActivePerl 5.8.4.810
by JamesNC (Chaplain) on Nov 08, 2004 at 06:34 UTC
    This is usually because the HTTP_PROXY evironment variable is not set or unset properly. If you use a proxy to surf, then you have to set an environment like so:
    set HTTP_PROXY=https://proxy1.myproxy.com:8080

    I forget sometimes when I don't need it and have to explicity turn the environ var off.
    set HTTP_PROXY=

    You can prove to yourself things are working correctly if you can `get www.perlmonks.com` from the cmd line.

    JamesNC
Re: Problems with PPM under ActivePerl 5.8.4.810
by erix (Prior) on Nov 07, 2004 at 12:36 UTC

    My activestate installation on win2k does work with that 'query *'.

    FWIW, as you seem to get desperate... you could try the binary perl+apache installation from apache (= activestate perl 5.8.4.810+apache 2.0.50). It has an older PPM (2.1.6) that might solve the problem. Note that it has different 'query' syntax.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://405830]
Approved by Arunbear
Front-paged by PERLscienceman
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2024-04-24 00:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found