This web page is something of an anachronism. Used to be that
ESPACE, the data analysis package for
Hall A at
Jefferson Lab was developed
on an HP-UX system, and was programmed with lots of extensions
which were incompatible with the Linux Fortran compilers
available at the time.
I headed a project to make ESPACE compatible with
Linux Fortran so that one could use Linux workstations to
analyze Hall A experimental data. This project was begun
at the suggestion (and with the support) of Prof. William
Bertozzi when I was at the MIT Laboratory for Nuclear
Science; the project was completed at the University of
Georgia.
The page is an anachronism since now, the Linux compatibility
is an integral part of the source, since the primary development
platform is GNU/Linux on Intel machines.
I keep the page around since there are still some questions
which get asked frequently by newcomers to Linux-style Hall
A Analysis.
The Compiler System
The only currently supported compiler for ESPACE/Linux is
Absoft Pro Fortran. Version 5.0 of this product is guaranteed
to work; the earlier version (V 3.4 of the F77 compiler) may
work with some tweaking.
The CERN Libraries
The old version of CERNLIB/Absoft is no longer needed if you
are using Absoft Pro Fortran V5.0. That version (which was
created by me at MIT/LNS as part of the current project)
is no longer maintained and probably contains some bugs.
Most people currently working on ESPACE/Linux are using the
egcs-compiled version of the CERN libraries. These are
available from CERN. You can also use older versions of
the CERN libraries (compiled with "stock" g77) but you
will probably need to tweak (rather heavily) the compilation
and link procedure.
Preferred System Setup
The setup that will give you the easiest path to ESPACE happiness
is to purchase or install a Red
Hat Linux distribution, version 5.1 or higher,
Absoft Pro Fortran
version 5.0 or higher, and the aforementioned egcs-compiled
CERN libraries from CERN.
What to do if you get funny errors compiling ESPACE
Successful use of CERNLIB (compiled with either stock g77
or egcs-g77, depending on which version you get, as well as
compiled with C) and ESPACE (which is a strange brew
of Fortran code compiled with g77, Fortran compiled with Absoft
F77, and C code) is sensitive to how you have your machine
software installed. In particular, people with older systems
that still have older software (like f2c) lying around are
likely to have problems. Here is a recipe for getting
ESPACE to compile on the system described above under
Preferred System Setup.
1) run redhat 5.0 or later. Below will not work for redhat pre 5.0.
I am sure about redhat 5.1 and 5.2, less sure about 5.0.
2) make sure you only have one copy of libf2c where the loader will
find it. If you have installed g77 yourself, you will have
multiple copies.
Mine (redhat 5.2) is here:
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/libf2c.a
3) you need to specify this location (above path without the libf2c.a
part) on your command line. I just linked a (non-ESPACE) object
file, compiled using the Absoft compiler, with CERNLIB using the
following command:
f77 -o aeexb_hbook_interface aeexb_hbook_interface.o \
-L/cern/98a_50/lib -lpacklib -lm \
-X -defsym -X MAIN__=main \
-L/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29 \
-lf2c
The same principle works with ESPACE; you may need to tweak
the link command line (in espace_hall subdirectory) to include
the correct path.
the MAIN/main stuff gets around a problem in linking g77 subroutines
with non-G77 main programs.
4) use the egcs-compiled version of the CERN libraries, compiled for
RedHat 5.0 and above. You can get them from CERN. You can see
above how my link command line reflects this (in 98a_50, the 50
means RedHat 5.0).
Note to ESPACE compilers
The program sfmakedepend broke with the newest release of perl
for Linux. This page used to contain a fixed version.
Below this line is the old version of the page, which contains
some interesting information and some history. Also,
and binary distributions available are linked below.
However, some of the information below may be out of
date.
ESPACE
Espace is the data-analysis program for the standard
Hall A
setup at the Thomas Jefferson
National Laboratory.
You can visit the
ESPACE home page for more information on ESPACE, including
a manual for the program.
Eddy Offerman (formerly of TJNAF) wrote the program.
It is now maintained by Ole Hansen of TJNAF, with help
from Werner Boeglin (FIU), Ed Brash (U. Regina), Michel Kuss
(JLab) and myself.
CERNLIB
The CERN
program library is a large collection of software
routines which are useful for analysis of nuclear- and
particle-physics data.
Distribution of Linux ESPACE
I no longer provide Binary distributions of Linux/ESPACE.
The complete source tree is also no longer available
from this page.
As of 2.5.0, the Linux code has been integrated into the
main distribution (or should we say, the main version has
been upgraded by removing the bugs which prevented it from
running on Linux ;-) To avoid confusion, all code will be
distributed from the
Hall A ESPACE page.
Compiling ESPACE under Linux requires the Absoft F77 compiler
(v4.4 or later)
and the 97a CERN libraries (standard Linux distribution from
CERN, the Absoft-specific libs are no longer needed.)
You can pick up our Absoft-compiled version of CERNLIB
from CERN
at this location, and the filename is
linux_absoft_96a.tar.gz. Again, you must be a registered
CERNLIB user (see below.)
These libraries are no longer needed since version 2.5.0!!
You do not need the Absoft-compiled version of CERNLIB
unless one of the following two cases applies to you:
- you intend compile a pre-2.5.0 version of ESPACE yourself.
- you intend to use an older version of the Absoft compiler
to compile some
program, and this program uses CERN library routines.
You do not need
any CERN library package if you only want to run
ESPACE on your machine.
Also, note that the Absoft-compiled version of CERNLIB is completely
useless to you unless you have a copy of Absoft's compiler,
version 3.4 or lower.
ESPACE and CERNLIB For Linux
I ported both ESPACE and CERNLIB to the Linux operating
system while a member of the
Nuclear Interactions Group at MIT.
I constructed a version which can run on all supported platforms
in October 1997.
This version became 2.5.0.
Thus this page is in some sense obsolete, although I will continue
to maintain the binary distributions here for people who don't
have a compiler.
Ed Brash had quite a hand in producing many of the earlier Linux
versions, and is still active in ESPACE development and Linux
use.
The Absoft F77 for Linux compiler
is one of only two Linux Fortran compilers
which are capable of compiling
ESPACE and producing a correctly-functioning ESPACE executable.
The other Fortran compilers on Linux either do not support
the VAX/VMS extensions used heavily by ESPACE, or are not
robust enough to compile such a complex code.
You can find more information about Linux Fortran compilers on the
Linux Fortran Information Page.
(The other compiler you could use is the one from the Portland
Group, although you'd then need to worry about linking to
CERNLIB.)
In order to use ESPACE on your Linux machine, you will need
the following:
- An ELF-compatible Linux operating system. Most any
system installed in the last year is ELF-compatible.
Any Linux CD that you purchase today will almost
certainly be ELF compatible. An older, non-ELF system
can be upgraded (it takes a few hours and some patience,
see the ELF HOWTO document at the Linux Home Page.)
-
Your C library (the ELF one, in case you have both ELF and a.out
libraries installed) must be version 5.2.18 or later.
-
You will need the ESPACE binary and the mass-table file
"masses_Linux.dat" (see below.)
-
You will need configuration and database files for ESPACE,
which can be picked up on the ESPACE home page link above.
You will also have to configure your environment variables
as per the table on the ESPACE installation page.
-
Note: you do not need to install CODA on
your Linux machine!
You do not need the CERN library package to run ESPACE.
These libraries are already linked into the executable we
distribute.
If you retrieve all the files above and your Linux
installation fits the requirements,
you can run ESPACE on your machine and analyze
data. In order to be able to look at the histograms that
you produce
with your analysis, you need to have PAW or PAW++ installed.
You can pick this up from CERNLIB. You must download the
software from a registered machine. If your machine is not
registered, you can register from one of the links on the CERNLIB
link at the top of this page.
PAW for Linux can be retrieved from the CERN ftp server
asisftp.cern.ch, in directory
cernlib/pc_linux/97a/tar/, filename
cernbin.tar.gz.
This package contains all of the CERN executable programs, not
only PAW and PAW++.
The file cernlib.tar.gz in this same
directory contains the "standard" Linux CERN library
distribution.
Newer versions of Absoft's compiler (4.4 or later)
can link to these libraries (with certain restrictions.)
General Notes About ESPACE/Linux/Absoft
The performance is good (relative to other platforms -- ESPACE
performance in general is lousy though),
and the changes that needed to be made
were not too extensive. It took me around two weeks of
full-time work (thus four weeks in real time.)
ESPACE performs well on a 100 MHz Pentium
machine, and analyzes events
at the same rate (within a few percent) as an HP 9000/735 machine!
Send me mail if you want me to send you mail
whenever a new version is released.
Version History
- 11 February 1999 -- introduction to the anachronistic
nature of this page.
- 08 December 1997 -- binary distribution of 2.5.1 released,
information on fixed sfmakedepend program.
- 20 November -- binary distribution of 2.5.0 released.
- 01 November -- binary distribution (beta) of 2.5.0 released.
- 29 October -- version which compiles on all platforms
was verified on HP/UX and Solaris (at CEBAF) to run
correctly. This is first version using standard CERNLIB
and Absoft F77 v4.4.
- 22 May 1997 -- ESPACE 2.3.0 released for Linux.
- Info and ftp-site links for 2.2.3 (JAT, EJB.)
- Page is now at UGA. Ed Brash's Linux diffs for ESPACE 2.0.
Informed by CERNLIB that they have the correct Absoft
library files now.
- November 14 1996 -- release of version 1.12.2 (bug fixes for
1.12.) Please pick this up, the first 1.12 release is hideously
broken.
- November 11 1996 -- update web page, new naming of ftp files,
addition of complete source tree and binary 'tar' file.
- November 8 1996 -- release of version 1.12
- September 26 1996 -- bug fix release for ESPACE
version 1.9. Use of IF ... ENDIF constructs caused
ESPACE to crash. This was a problem in our CERNLIB
release. The library has been fixed, and the new executable
is linked against the new library.
-
September 23, 1996 -- first release of ESPACE version 1.9.
-
July 16, 1996 -- Initial ESPACE/Linux release, version 1.5.
Jeffrey Templon
Last modified: Thu Feb 11 11:35:26 EST 1999