-
Installations from the source code are recommended over the
pre-compiled binaries due to the
lack of portability of pre-compiled Perl libraries
and other potential portability issues.
Note that installations from the
source code distribution are required for users who wish to load
local models in Xspec or use the Xspec Python interface (PyXspec).
The instructions below assume that you have already acquired a HEASoft tar
file and have unpacked it (using e.g. "tar zxf [tar file]") on your machine.
-
Prerequisite packages:
If they aren't installed already, you will need to install (using the
"apt-get" package manager) a few other packages which are needed in
order to build HEASoft from the source code distribution:
$ sudo apt-get -y install libreadline-dev
$ sudo apt-get -y install libncurses5-dev
$ sudo apt-get -y install ncurses-dev
$ sudo apt-get -y install curl
$ sudo apt-get -y install libcurl4
$ sudo apt-get -y install libcurl4-gnutls-dev
$ sudo apt-get -y install xorg-dev
$ sudo apt-get -y install make
$ sudo apt-get -y install gcc g++ gfortran
$ sudo apt-get -y install perl-modules
$ sudo apt-get -y install python3-dev [or python-dev]
$ sudo apt-get -y install numpy [only needed for the HEASP Python interface]
-
Building the software:
After installing the prerequisite packages above, most users should
just follow the basic GNU-like build procedure outlined in the
HEASoft installation guide, i.e.:
First, make sure that the configure script will choose the
correct set of compatible compilers for the build, for example:
In C-shell variants (tcsh/csh): In Bourne shell variants (bash/sh/zsh):
$ setenv CC /usr/bin/gcc $ export CC=/usr/bin/gcc
$ setenv CXX /usr/bin/g++ $ export CXX=/usr/bin/g++
$ setenv FC /usr/bin/gfortran $ export FC=/usr/bin/gfortran
$ setenv PERL /usr/bin/perl $ export PERL=/usr/bin/perl
$ setenv PYTHON /usr/bin/python3 $ export PYTHON=/usr/bin/python3
External packages (e.g. Anaconda) may set compiler flags in the
environment which can break a HEASoft build, so users are also
advised to unset all "FLAGS" variables:
$ unsetenv *FLAGS $ unset CFLAGS CXXFLAGS FFLAGS LDFLAGS
Alternatively, users may alter their session to cancel any Anaconda
or other package initialization by editing their profile or other
shell resource files.
Other software packages (e.g. XMM-SAS) may change your LD_LIBRARY_PATH
(or DYLD_LIBRARY_PATH on Macs) environment variable, and this can break
a HEASoft build, so users are advised to check their [DY]LD_LIBRARY_PATH
variable and remove any paths that aren't necessary. Typically none should
be needed and this variable can remain empty when building HEASoft unless
you are using a custom compiler suite for the build.
Next, configure and build the software:
$ cd heasoft-6.30/BUILD_DIR/ $ cd heasoft-6.30/BUILD_DIR/
$ ./configure >& config.txt $ ./configure > config.txt 2>&1
$ make >& build.log $ make > build.log 2>&1
$ make install >& install.log $ make install > install.log 2>&1
Note that you should let each step finish before proceeding to the
next. The installation guide contains
descriptions of optional configuration flags that more advanced
users may wish to utilize.
-
Initialization:
To initialize the software, do the following:
For users of C Shell variants (csh, tcsh):
setenv HEADAS /path/to/your/installed/heasoft-6.30/(PLATFORM)
source $HEADAS/headas-init.csh
For users of Bourne Shell (sh, ash, ksh, bash, zsh):
export HEADAS=/path/to/your/installed/heasoft-6.30/(PLATFORM)
. $HEADAS/headas-init.sh
In the examples above, (PLATFORM) is a placeholder for the platform-
specific string denoting your machine's architecture, for example:
x86_64-pc-linux-gnu-libc2.31
FTOOLS HELP DESK
If FTOOLS has been useful in your research, please reference this
site (http://heasarc.gsfc.nasa.gov/ftools) and use the
ASCL reference for HEASoft
[ascl:1408.004] or the
ASCL reference for the original FTOOLs paper
[ascl:9912.002]:
Blackburn, J. K. 1995, in ASP Conf. Ser., Vol. 77, Astronomical
Data Analysis Software and Systems IV, ed. R. A. Shaw, H. E. Payne,
and J. J. E. Hayes (San Francisco: ASP), 367.
Web page maintained by:
Bryan K. Irby