in reply to Re^13: ActiveState Perl 10.x and Crypt::SSLeay not installed errors on Windows 2003
in thread ActiveState Perl 10.x and Crypt::SSLeay not installed errors on Windows 2003

Well. I finally tracked down what architecture PPM thinks it should be installing for:

c:\Perl510\bin> perl -MActivePerl::PPM::Client -wle"print ActivePerl::PPM::Client->new()->arch" MSWin32-x86-multi-thread-118.53

Now from where do you think it came up with that?

Because I've searched my entire bloody filesystem and registry and that string doesn't seem to appear anywhere! Gah!

If Gavin hadn't just installed 1002 and encountered the same failure, I might assume that the reason 1002 was released so soon after 1000, was to correct this...but that still doesn't explain where it comes from. The absence of the string anywhere on my system suggests it must be constructed at runtime. Why? Does it change from run to run?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."
  • Comment on Re^14: ActiveState Perl 10.x and Crypt::SSLeay not installed errors on Windows 2003
  • Download Code

Replies are listed 'Best First'.
Re^15: ActiveState Perl 10.x and Crypt::SSLeay not installed errors on Windows 2003
by Gavin (Archbishop) on Mar 29, 2008 at 20:52 UTC

    The problem seems to come from as BrowserUk suspected from running more than one version

    i.e. 5.8 and 5.10 on the same system there must be a conflict in the registry that stops the install

    Removing both 5.8 and 5.10 from my system then deleting all the following files and folders in the registry.

    • HKEY_LOCAL_MACHINE/Software/ActiveState/ActivePerl
    • HKEY_LOCAL_MACHINE/Software/ActiveState/PerlScript
    • HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Uninstall/ActivePerl
    Reinstalling 5.10 and then Crypt-SSLeay installs correctly, this may not be what you wanted to hear. It may be possible to make the necessary changes in the registry to allow the install but as always it comes with risks!
Re^15: ActiveState Perl 10.x and Crypt::SSLeay not installed errors on Windows 2003
by BrowserUk (Patriarch) on Mar 29, 2008 at 23:59 UTC

    And the answer to my own question is on line 41 of /perl510/lib/ActivePerl/PPM/Client.pm:

    $arch .= sprintf "-%vd", substr($^V, 0, 2) if $] >= 5.008;

    Which produces:

    C:\Perl510>perl -wle"print $]; print $^V; printf qq[-%vd], substr($^V, + 0, 2)" 5.010000 v5.10.0 -118.53

    A few further questions arise:

    1. What is that sprintf trying to do? (What is pattern %vd besides the obvious:)
    2. How come other some other peoples copies aren't afflicted?
    3. Can anyone confirm their version of AS1000/1002 has the above line?

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      I think you've found it. My ActivePerl/PPM/Client.pm (AS build 1002) is slightly different:
      39: unless ($arch) { 40: $arch = $Config{archname}; 41: if ($] >= 5.008) { 42: my $vstring = sprintf "%vd", $^V; 43: $vstring =~ s/\.\d+$//; 44: $arch .= "-$vstring"; 45: } 46: }
      When I run the code that's inside that unless block it sets $arch to MSWin32-x86-multi-thread-5.10 yet I get the same as you when I run the one liner you presented. And $arch .= sprintf "-%vd", substr($^V, 0, 2) if $] >= 5.008; definitely appends -118.53 to $arch.

      But how come the difference betwen my PPM installation and your PPM installation ? (This should probably be raised on the PPM mailing list. I'm subscribed to that list but I don't recall seeing anything like this reported.)

      Cheers,
      Rob

      UPDATE: I've just unzipped ActivePerl-5.10.0.1002-MSWin32-x86-283697.zip to make sure that my Client.pm is the same as the Client.pm that ships with that source - and it is. It's therefore rather baffling that some others end up with a dfferent version of Client.pm when they install build 1002.

        That fixed it. Replace my one line with your if block and:

        C:\Perl510>ppm install http://www.bribes.org/perl/ppm/Crypt-SSLeay.ppd Downloading Crypt-SSLeay-0.57...done Unpacking Crypt-SSLeay-0.57...done Generating HTML for Crypt-SSLeay-0.57...done Updating files in site area...done 10 files installed 7 files updated

        Thanks. Now maybe yeah can get his to work...if he ever comes back and catches up on this thread.


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
        It's therefore rather baffling that some others end up with a dfferent version of Client.pm when they install build 1002.

        I have build 1000. But that doesn't explain why Gavin had the problem with 1002?


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.