Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: ppm profile failed: Can't determine best

by BrowserUk (Pope)
on Sep 21, 2012 at 23:59 UTC ( #995012=note: print w/ replies, xml ) Need Help??


in reply to Re: ppm profile failed: Can't determine best
in thread ppm profile failed: Can't determine best

(I guess you already know that, for your particular exercise, you need to modify the "ACTIVEPERL VERSION" and "REPOSITORY HREF" entries in the profile file that 5.10 produced.)

I didn't know that -- thanks for the tip -- but it made no difference.

It turns out that -- in their infinite wisdom -- they decide to sort the packages before downloading them. And their sort comparator doesn't just compare names, but also versions, features and release dates. But it sometime decides that it doesn't know how to order two packages and so, just dies -- with the ever so helpful "Can't find best".

Stick return -1; into the top of their compare() function and ... off it merry well trots.

Reading between the lines -- you have to as there is no further explanation -- it might be that the ordering that results from this hack will cause a later package install to overwrite an earlier installed, but later versioned, dependency; but better than than just giving up.

I really do wonder sometimes...


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
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.

RIP Neil Armstrong


Comment on Re^2: ppm profile failed: Can't determine best
Select or Download Code
Re^3: ppm profile failed: Can't determine best
by syphilis (Canon) on Sep 22, 2012 at 00:17 UTC
    I didn't know that

    Actually, I was just *guessing* that "restoring" ActivePerl-5.14 from a profile file that listed the 5.10 values for ACTIVEPERL VERSION and the repository HREF would cause problems. PERL VERSION and PPM VERSION (which I failed to notice at my first glance at a generated profile file) would also be set to the 5.10 values instead of the 5.14 ones.

    Cheers,
    Rob

      I also had to hack in a --force option to the installs otherwise it refuses to replace a file with an identical file alredy installed by another package!

      Funnily enough, the file in question was an old freind :) :

      ppm profile failed: File conflict for 'c:/perl64/site/bin/libgcc_sis__ +470.dll'. The package Cairo has already installed a file that package Const- +Fast wants to install.

      Unfortunately, running it again means it re-downloads everything it had already downloaded.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      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.

      RIP Neil Armstrong

        Funnily enough, the file in question was an old freind :)

        /me withdraws the bat and impassively watches as the ball passes through to the keeper ... ;-)

        It really is a pitfa that ActiveState decided to add this "feature" to PPM ... and that they implemented it in the way they have. There are a number of solutions, including the ones that you and bulk88 came up with - but none with which I'm (yet) all that comfortable.

        Btw, PAR-Dist-InstallPPD will install the ppm packages without any problems - but it's not sophisiticated enough to deal automatically with pre-requisite modules and post install scripts. (Here's a demo script that installs PDL and dependencies using that module.)
        Maybe I should get a version released that *does* understand how to handle post-install scripts and prerequisite modules. It's probably not of great interest to those who have ActivePerl, but is handy for any perl distros that don't have a satisfactory PPM utility.

        Unfortunately, running it again means it re-downloads everything it had already downloaded

        I would have hoped that it would be a simple editing operation to remove those packages that had already been installed from the profile file (prior to running again). Of course, if the upgrade doesn't process those packages in the same sequence as they are listed in the profile file, then such editing will not be so simple ...

        Cheers,
        Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://995012]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (15)
As of 2014-12-19 09:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (75 votes), past polls