RE: [Cpanplus-bugs] file dups?
- Dear Jos,
Thanks for writing back. I don't think I understand your suggestion. Admittedly, I am a beginner, but this is not what I had expected from reading the docs. I've already learned at least two things since reading your reply, but please help me get to the end of this.
The problem is that CPANPLUS (also CPAN) doesn't see some up-to-date modules. From your reply, I believe that it is because of older ones being found first via @INC path order. Are you saying that I should modify CPANPLUS.pm and put some kind of 'push(@INC,...)' statement at the beginning so it finds the "rogue" modules?
Correct me here too; if I run 'cpanp' or 'perl -MCPANPLUS -eshell' I either have to change the default perl library search order or modify the CPANPLUS.pm module, right? Changing the default perl library search order means setting PERL5LIB environment variable, right? But to set the right path I have to do a 'find' on the module that doesn't update correctly, check the version on both (assuming has gotten me into trouble before), and then put the path to the module that is newer ahead of the path of the older module.
All that so I can leave the older module installed and have CPANPLUS detect the newer one. But I don't really want the older module around, so, for me, this is an exercise in futility. I like 'find -exec grep VERSION; rm ... better because I only want the latest one.
Maybe it more rightly should be called a bug in the individual modules. They install in one place one time, and then later in another place. I can see how this is not the responsibility of CPANPLUS. CPAN also exhibited this behavior, which is actually why I decided to try CPANPLUS.
It could also be claimed that it is a bug in the way perl is distributed. I think that some of the "problem" modules are installed with the perl distribution and that they are put in the "wrong" place. Then when a newer version is detected and in is put in the place designated by the author, or the architecture dependent location, whichever, the other (distribution installed) version remains and is higher up in the priority of search paths.
I suppose that technically that is not a 'bug' for either party, but when you put the two of them together it becomes a problem for me (and I would guess, other perl users).
I'll bet that there are a LOT of perl users that don't even know they are using out of date modules. Other users know that they can't update some modules even though they run 'install'. They don't know the reason that the install succeeded but the modules are still out of date. That's how I got started down this dark path. It happens on two different platforms too, RH9 on Intel and Solaris8 on sparc.
I suppose there could be a legitimate reason for having two versions of a module installed in a single perl installation, but for me it is kaos. Someone could write a utility to search for multiple installations and offer to resolve the issue, were it not the desire of the user to have multiple module versions. It's just that CPANPLUS seems to me like the perfect place to resolve this kind of confusion, since it is the 'installer of choice'.
Sorry I offended you by calling it a 'bug'. It's really a wonderful package.
Gregory L. Hering
4807 Bradford Dr
Benchmark Electronics, Inc.
Huntsville, Al 35805
From: Jos I. Boumans [mailto:kane@...]
Sent: Tuesday, July 01, 2003 7:55 AM
To: Hering, Greg
Subject: Re: [Cpanplus-bugs] file dups?
On Wednesday, Jun 25, 2003, at 17:02 Europe/Amsterdam,
> Does anybody have some code to find duplicate files in a file system?from reading the rest of your mail, you're not looking for duplicate
files, but for files that come from the same modules, with alternate
also, this is /not/ a cpanplus bug, so this mailing list is probably
not the best place for your question.
> Then if I do a 'find /usr/local/lib/perl5 -name Util.pm' I get[...]
> You can see List/Util.pm in two placesand perl will use the first one it finds according to it's @INC array.
type perl -V to see the contents.
also read perldoc -f require to see how it's used.
again, this is not a bug but perhaps the above manuals will shed some
light on this for you.
"We are not far from the kind of moral decay that has brought on the
fall of other nations and peoples" - Senator Barry Goldwater, 1964