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:


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 \

   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 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.


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 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.


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:

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, 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

Jeffrey Templon
Last modified: Thu Feb 11 11:35:26 EST 1999