Using -force -nofollow, can't call getppm on undefined value

Posted by nadime on 2006-09-27 10:02
Forums: PPM | OS: Windows XP Pro

I'm trying to use 'ppm install -force -nofollow' in order to force an upgrade of an existing module.

(1)
C:\perl\bin>ppm rep
Repositories:
[1] HCM

This repository contains the correct .ppd file. If I uninstall the module in question, then use 'ppm install', it works fine. It's just 'ppm install -force -nofollow' that fails (actually ppm install -force -follow fails as well, it just doesn't barf with an error even though it should actually be attempting to do MORE than ppm install using -nofollow).

(2)
C:\perl\bin>ppm install -force -nofollow Net-SNMP
Note: Package 'Net-SNMP' is already installed.
Can't call method "getppm" on an undefined value at C:/Perl/site/lib/PPM/UI.pm line 1246, <$__ANONIO__> line 9.

I've made a bunch of edits to the various PPM files to try to debug this. It seems like the call to the object's list of repositories gets cast as an array which is empty and this breaks everything. I really, really don't think it would be a good use of anyone's time to try to dig through the various levels of code to figure out why this is -- so I'm wondering: has anyone encountered something similar? My recent searches suggest no =(.

nadime | Wed, 2006-09-27 10:12

... and this error occurs with or without the normal default ActiveState Repositories, whether or not they're higher or lower on the priority list.

jeff.griffiths | Wed, 2006-09-27 12:50

This seems to be a bug in ppm4, can you please report this to http://bugs.activestate.com ? In your report, please provide as much information as possible about the repository you are using.

nadime | Thu, 2006-09-28 12:40

Actually this is ppm3, but sure. I haven't tested it with ppm4. We use a slightly older version of AS Perl here.