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
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
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
Mine (redhat 5.2) is here:
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
f77 -o aeexb_hbook_interface aeexb_hbook_interface.o \
-L/cern/98a_50/lib -lpacklib -lm \
-X -defsym -X MAIN__=main \
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
Espace is the data-analysis program for the standard
setup at the Thomas Jefferson
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.
program library is a large collection of software
routines which are useful for analysis of nuclear- and
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
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 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.
- 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.
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
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
In order to use ESPACE on your Linux machine, you will need
You do not need the CERN library package to run ESPACE.
These libraries are already linked into the executable we
- 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!
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
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
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
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.
- 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
- 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.
Last modified: Thu Feb 11 11:35:26 EST 1999