[Ifeffit] Re: upgrading iffefit and stuff on linux

Bruce Ravel ravel at phys.washington.edu
Thu Dec 11 09:56:15 CST 2003

On Thursday 11 December 2003 08:57 am, Gleb Pokrovski wrote:
> Dear Bruce,
> I'm using your nice programs Athena & Artemis (+iffefit+tkatoms) on
> linux Mandrake 9.1 (2.4.21-0.13mdk), and I currently have 1.2.1,
> 0.8.020 and 0.6.005 versions of iffefit, athena and artemis,
> respectively.  I would like to update to more recent versions. Not
> being an expert in linux (but rather a very beginner!), I'm asking
> myself how the upgrading will happen. On the ifeffit websites I
> did'nt find any instructions how to upgrade on unix, but probably my
> questions are quite trivial and silly...
> When I installed the above versions I followed the instructions provided
> with the package (unzip, configure, make, make install...)
> and these  versions and corresponding executables and libraries were built
> in the default directories /usr/local/.../bin, lib, include etc...
> If now I redo these operations with the new packages, do they automatically
> replace the old files and executables?
> Or I have to do some preparations before upgrading?
> (I already have PGPLOT and perl-Tk (800.024) installed and running)

Hi Gleb,

I am always happy to see another linux convert!

Your questions are most certainly not silly and trivial.  I would be
surprised if others would not benefit by my answer.  So I am taking
the liberty of CCing my response to the mailing list.

To answer your principle question -- doing an update is just that.
The new version will be written on top of the old version.  [1]  No
further preparation is required.

If you are a user of Debian linux, the problem of keeping up-to-date
is very simple because Carlo Segre makes installation packages for
Debian of ifeffit, atoms, and athena&artemis.  No one is currently
maintaining packages for other linux distributions, however.

Assuming you have PGPLOT and perl/Tk [2] already installed, the
updating is explained below.  If you need to update both, do ifeffit
first, then A&A.  If you only need to update A&A, it is not necessary
to reinstall ifeffit -- just build and install the new version of A&A
on top of the existing version of

  To update ifeffit:  download the latest source code tarball from
      Matt's website.  Unpack it. [3]  Next, in a terminal window, go
      to the directory that got unpacked and type the following three
	 make install
      The last command will require either having root or having sudo
      permission to install software.

  To update A&A (on a computer connected to the net):  this is very
      simple.  For almost the last year, a program called
      "horae_update" has been installed alongside A&A.  Simply type
      "horae_update".  It will fetch the latest version from my web
      site, unpack it, build it, and install it.  Again, you will need
      root to actually install it.  [4]

  To update A&A (on a computer not connected to the net): download the
      latest horae tarball from my web site.  Unpack it. [2] In a
      terminal window, go to the directory that got unpacked and type
      the following three commands:
         perl Makefile.PL
	 make install
      The last command will require either having root or having sudo
      permission to install software.

I strongly encourage you to learn how to use the horae_update script.
It really does make updating A&A much easier.  It is a pretty smart
script in that it does nothing if the version on my web site is not
newer than the version on your computer.  This means that you can make
horae_update a cron [5] process and have A&A updated automatically.

Hope that helps,


[1] A long time ago (more than a year ago) I was struggling with a bug
    in perl's build system which resulted in the end user (you!)
    having to worry about deleting old versions of the ifeffit library
    before building the new one.  This problem was avoided (not
    solved, just sidestepped) by forcing you to install ifeffit first,
    then install my programs second.

[2] The easiest way to install PGPLOT is to run the "PGPLOT_install"
    script that comes with the ifeffit package.  To install perl/Tk
    for the first time, grab the tarball for version 800.024 from my
    web page and do "perl Makefile.PL; make; make install".  Some
    linux distributions (SUSE does, but Red Hat does not) have a
    package for perl/Tk that you can install from your installation
[3] At the command line, you can unpack it via the command "tar xvfz".
    Under KDE, you can use the program Ark, which is what Konqueror
    suggests for opening the file when you click on it.  Under GNOME,
    File Roller does the same thing.  Ark and File Roller both behave
    somewhat like the popular Windows program "WinZip".

[4] Also, the first time you run horae_update, it may need to fetch
    some additional perl modules from the web.  This is automated, but
    it does require root access.
[5] A cron process is one that is scheduled to run periodically.  For
    instance, you could have cron run horae_update every morning at 3
    a.m.  In that way, the freshest versions of A&A will always be
    waiting for you along with your morning coffee.  Cron may prove a
    bit daunting for a linux newbie, though.  Here's a decent
    explanation of what it is and how it works:
    There is a KDE program called "kroneko" that serves as a GUI to
    making cron jobs.  A GNOME program of the sort is called
    "gcrontab".  Neither is a default part of the desktop but a google
    search should turn them up.

 Bruce Ravel  ----------------------------------- ravel at phys.washington.edu
 Code 6134, Building 3, Room 222
 Naval Research Laboratory                          phone: (1) 202 767 5947
 Washington DC 20375, USA                             fax: (1) 202 767 1697

 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 mailing list