Ins:[Ifeffit] Re: problems with the new version-solved
ravel at phys.washington.edu
Tue Mar 9 08:22:25 CST 2004
On Tuesday 09 March 2004 03:11 am, ALAM Sher wrote:
> Maybe this can be of help....
> I had a problem with horae-030, which I solved....
> Before when I installed horae-029 there were no problems.
> Please note that I am using Red Hat Linux
Giuliana's problem was actually with the Windows package. A note to
everyone out there -- it is always a good idea to do as Sher has done
here and identify what kind of computer you are using when you ask a
question. That is particularly true if your question is installation
The rest of this message is unix-specific and rather detailed and
technical. (Just so you know before digging into some of my more
boring prose ;-)
> The problem was that in directory Ifeffit under horae-030
> there are files Group.pm and Path.pm, used respectively by
> athena and artemis....The version numbers of these did
> NOT coincide with those in the same files in directory
> /usr/lib/perl/perl_site/5. /Group.pm etc.....
> Thus I fixed the numbers in the above files and problem was
Hmmmmm..... I am not sure you did a good thing.
If you get a pop-up message that says:
The main program and the Ifeffit/Group.pm module have different
(or "Ifeffit/Path.pm") along with some lines telling where to find
those files, what has happened is that a conflict has arisen between
the most recently installed version of my programs and an earlier
A bit of explanation: the main program should be installed in
/usr/local/bin. At least that is the default behavior of an
unmodified perl installation. The modules, which are the files with
..pm and which contain much of the functionality of the programs, get
installed under /usr/lib/perl5/site_perl/5.8.1 (or whatever version
number you are using).
However, if perl is configured differently, if your sysadmin organizes
things differnently, if you modify the Makefile.PL file, or if you
give some special arguments at the "make install" stage, then either
the programs or the modules could get installed in a different place.
That is not a problem by itself, but you must take care to do the same
thing everytime you install the software. Sometimes (as was the case
with Red Hat, I think) the linux distribution may configure its perl
package differently in different releases.
In that case, the shell finds the first version of the program that
appears in the PATH and perl finds the first version of the module
that appears in perl search path. If those don't match, the program
complains and quits. (Rightly so, I might add!)
So what should you do in this situation? Well, running this command:
~> which athena
will tell you what file is actually being executed. Around line 125
is athena's version number. Next run this command:
~> locate Group.pm
This will find all files called Group.pm. Look at each one. Around
line 50, it identifies it's version number. They *must* match. You
should delete any version of Group.pm which does not match and leave
the one that does. The story is the same for artemis and Path.pm.
Sher's solution of changing the version number of an old Group.pm to
match the new athena is a poor one. The program will run but probably
will not run well as the older .pm file may be missing important
Two final words:
1. If you do not change the configuration of perl or of my software,
you will not run into this problem ever on a unix system. Of
course if you linux distribution changes its perl configuration,
you will run into this problem. There's not much I can do about
2. This is not a problem unique to perl. Perl uses the same
mechanism to find libraries that almost every other programming
language uses. That is, it has a search path for where to look
for libraries. If a third-party package is not installed in the
same place each time, this problem will arise regardless of the
FWIW, This is at least the second time a Red Hat user has complained
about this problem. I have never heard of a SuSE, Mandrake, or Debian
user having this problem.
Bruce Ravel ----------------------------------- ravel at phys.washington.edu
Code 6134, Building 3, Room 405
Naval Research Laboratory phone: (1) 202 767 2268
Washington DC 20375, USA fax: (1) 202 767 4642
NRL Synchrotron Radiation Consortium (NRL-SRC)
Beamlines X11a, X11b, X23b
National Synchrotron Light Source
Brookhaven National Laboratory, Upton, NY 11973
My homepage: http://feff.phys.washington.edu/~ravel
EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/
More information about the Ifeffit