On Jun 18, 2006, at 8:16 PM, Ron Savage wrote:

Thanx for the quick response.

I'm in Melbourne (Aust, not Florida). Do you work 24x7 or are you in a similar
(i.e. civilized :-) timezone?

Heh - you just happened to get lucky today. After the Father's Day festivities here in GMT-0500, I guess I checked my mail right after you sent that message.

I used to live in Sydney while I was doing my master's degree at Sydney Uni, but now I'm back in Minneapolis.

Nope. The install program contains:
use lib "$ENV{'INSTALL'}/lib";
and has - I'm /pretty/ sure - from the year dot.
I either use that line or the full path to the same lib dir in all main programs, since (on this GNU machine) I do not have permission to install into the 'usual' dirs. And no, I don't use PERL5LIB except when trying to diagnose problems such as this. Seems pretty clear to me. I'll just write it off as
another quirk of V 5.8.0.

Hm, but not one I understand. The only case I know of when ExtUtils::Install won't uninstall a previous version that it finds in @INC is when the file contents are identical with what it just installed. An AFS thing apparently.


So I guess the options are:

o use lib "$ENV{'INSTALL'}/lib/perl";
and uninstall and reinstall all modules so they all go into lib/perl5

Unless any module is actually aware of where it's installed (something I've never come across), you should be able to just move all the modules from lib/ to lib/perl5/ . That's probably how I'd deal with it. None of the internal pathing should have changed.


Now under Windows:
BTW: I found another module, ExtUtils::Install, where Module::Build V 0.2801 did not uninstall the previous version. I uninstalled it by hand. I did notice that earlier version of ExtUtils::Install was installed in /perl/lib/ and did not have a .packlist file. Is that what M::B uses to find what to uninstall?

Actually, ExtUtils::Install is the very module that manages the -- uninst flag for Module::Build. We simply call ExtUtils::Install::install($install_map, $verbose, 0, $uninst) and let EU::Install do its UNINST thing.

As for what EU::Install will uninstall, I don't think it has anything to do with .packlists. I think it simply decomposes filenames into the part relative to the target directory, then looks for more copies of those files elsewhere in @INC.

If this is on Windows, I wonder if maybe it's a problem of the files being currently open, and thus unremovable?


Also, the new version installed into /perl/site/lib, and not
/perl/site/lib/perl5 (having regard to the change you quoted), because (under
Windows) I don't use install_base and everything just works. Sigh.

Do you use --prefix to do that installation, or is that the default location? AFAIK the default location shouldn't have changed, nor the --prefix location, so I'm not sure what's going on there.

 -Ken

Reply via email to