On Tuesday 09 March 2004 03:11 am, ALAM Sher wrote:
Hi, 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 related. 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 solved.....
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 version numbers. (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 installation. 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 features. 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 that. 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 language. 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. B -- Bruce Ravel ----------------------------------- ravel@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/