HEASoft Supported Architectures & Operating Systems
Quick Links:
HEASoft and XMM-SAS:
When the XMM-SAS is initialized after HEASoft (when both are used
in the same session), the SAS setup changes the value of the environment
variable PGPLOT_FONT with the result that plots in e.g. Xspec
may (or may not, depending on the software distributions in
use) have no axis labels or values. Users can fix this by resetting
PGPLOT_FONT to point to the HEASoft location:
C-shell:
setenv PGPLOT_FONT $HEADAS/lib/grfont.dat
Bourne shell:
export PGPLOT_FONT=$HEADAS/lib/grfont.dat
or by simply re-initializing HEASoft:
C-shell:
source $HEADAS/headas-init.csh
Bourne shell:
. $HEADAS/headas-init.sh
This may in turn have consequences for plotting in XMM-SAS, in which
case users may need to return PGPLOT_FONT to the SAS setting when using
it for data analysis.
HEASoft and CIAO:
Please see the following notes at the CXC website regarding the potential
dangers of using CIAO and HEASOFT together in the same session:
PC (x86 / x86_64)
-
OS: LINUX
Compilers:
GNU (v3.1 or higher) or Intel compilers.
Known Issues:
-
Users who wish to get the HEAsoft pre-compiled Linux binaries should
see our
note about Perl library portability and
should be aware of
other portability issues on Linux.
-
readline: Some users may encounter conflicts between their
/lib/libreadline.so.6
and the one built by HEASoft in
$HEADAS/lib/libreadline.so.6
HEASoft only tries to build its own copy of readline if it is unable to
link with -lreadline, and users can help ensure that this test is
successful by installing the readline development package (prior to
running configure), for example "libreadline-devel",
"libreadline6-devel", "readline-dev", etc.
-
Additional packages: The default installation of many Linux operating
systems is missing several of the standard prerequisite packages (compilers,
libncurses, and the X11 development libraries) needed for building HEASoft.
Users may need to install them using apt-get (or other package managers such
as "yum") prior to configuring HEASoft (source code distribution):
apt-get install gcc g++ gfortran
apt-get install libncurses5-dev
apt-get install xorg-dev
apt-get install perl-modules
yum install gcc
yum install gcc gcc-c++
yum install gcc gcc-gfortran
yum install ncurses-devel
yum install libXt-devel
yum install perl-ExtUtils-MakeMaker
Some users may find it necessary to symbolically link (using "ln -s") the
libncurses.so.5 library to an unnumbered version in order for the configure
test for that library to successfully link against it. For example,
cd /usr/lib/
ln -s libncurses.so.5 libncurses.so
-
(Fedora) Transparent windows in FV (POW display): When using POW as
your display device in the FV GUI, windows may appear transparent. To get
around this issue, the graphics "Forced Fallback Mode" should be turned
ON (in System Tools -> System Settings -> Details -> Graphics).
-
(Ubuntu) Transparent windows in FV (POW display): When using POW as
your display device in the FV GUI, windows may appear transparent. KDE users
should consider switching to GNOME, and when in GNOME, visual effects should
be turned off (in System -> Preferences -> Appearance -> Visual
Effects).
-
GCC 4.0.x, 4.1.x: Some mysterious memory faults have been
attributed to the early GCC 4.x compiler series (shipped with operating
systems such as Fedora 7, 8, 9). The software seems to behave properly
when built with newer compilers (4.2.x or newer) or older compilers (3.4.x).
-
gfortran: The GNU Fortran compiler gfortran is now
supported (as of the HEASoft 6.2 release), but only in GNU compiler
distributions 4.1.1 or higher. In recent Linux distributions,
you may find that your system has gcc / g++ / gfortran 4.x as
well as gcc3 / g++3 / g77. Either set of compilers should be
sufficient, but we recommend that you avoid mixing compilers from one
set with the other, i.e. use a consistent set of compilers to build
HEASoft.
We have recently found that - when compiled with gfortran earlier than
~4.2.x - the wmodel command in the QDP plotting program fails when
no filename is specified (i.e. a default screen dump). This is evidently
a bug in early versions (4.0.x, 4.1.x) of gfortran and is corrected in
later versions (4.2.x, 4.3.x).
- X11:
Users may find it necessary to specify the location of their X11
libraries and header files to the configure script. In some newer
operating systems, X11 is no longer found in the traditional location
(/usr/X11R6/), but lives in /usr/lib and /usr/include instead:
./configure --x-libraries=/usr/lib --x-includes=/usr/include
or for 64-bit architectures:
./configure --x-libraries=/usr/X11R6/lib64 --x-includes=/usr/X11R6/include
-
gcc 3.4.3:
The gcc 3.4.3 compiler may fail to link the xspec v12 binary
because of a conflict with the linker ld v2.14. Details of the problem
are described online
HERE.
Presumably this problem will be fixed in the next release of the GNU
compilers.
-
PERL scripts under Linux RedHat 8 and 9:
Users running HEASOFT perl scripts under these platforms may encounter
"Split loop" errors. This problem is caused by a bug in the Perl
version installed by default with RedHat 8 and 9 which causes it to
not function properly with the UTF-8 locale which RedHat made the default
starting in release 8. Users should be able to get around this problem
by either:
1) Updating your Perl to v5.8.1 or higher.
or
2) Getting rid of the UTF-8 encoding in your shell environment.
The environment variables LC_ALL, LC_CTYPE and LANG may be used.
For example, on GSFC RedHat systems, we do not have LC_ALL or LC_CTYPE
set but we do have LANG=en_US.UTF-8, so we "setenv LANG en_US" to fix
the problem.
Pre-compiled binaries built on:
i686: Scientific Linux 5.1 - GNU compilers v4.1.2, perl v5.8.8
x86_64: Scientific Linux 5.2 - GNU compilers v4.1.2, perl v5.8.8
Tested at GSFC on:
i686: Scientific Linux 5.1 - GNU compilers v4.1.2, perl v5.8.8
i686: Scientific Linux 4.4 - GNU compilers v3.4.6, perl v5.8.6
x86_64: Scientific Linux 5.2 - GNU compilers v4.1.2, perl v5.8.8
OS: CYGWIN
OS Versions: 1.5.5 or higher
Compilers: GNU compilers (tested at LHEA with version 4.3.4)
Known Issues:
-
Please see the README.CYGWIN document before
attempting to build HEAsoft in the Cygwin environment.
-
Suzaku & FV/GUIs: Please note that the Suzaku and
FV/GUIs packages are not currently supported in Cygwin.
FV users should see the FV page
to download the latest FV GUI for the native Windows platform instead.
-
Anti-virus software: Some users may run into build problems as a
result of anti-virus software, manifesting as "no such file..." errors
referring to Perl scripts or conftest files, or "permission denied"
errors referring to the hd_install program. The former problem occurs
when the anti-virus program locks a new file temporarily while it scans it
at the same time the build is trying to move or remove it, and the latter
is a result of a known virus with the unfortunate name hd_install.
Unfortunately the only solution for the first problem is to turn off your
virus protection temporarily while the software builds; the second problem
may be addressed by renaming the hd_install program (please contact us at
the FTOOLS help desk for more information
about how to do this).
-
FAT32 disks: Users trying to install HEASOFT on a FAT32 disk under
Cygwin may run into various problems and should either try their build
on an NTFS disk instead, or write the
FTOOLS help desk for assistance.
-
Fork: Some users may encounter problems with forked processes when
building HEASoft under Cygwin, for example:
24 [main] sh 7280 C:\cygwin\bin\sh.exe: *** fatal error - couldn't
allocate heap, Win32 error 487, base 0x680000, top 0x6E0000,
reserve_size 389120, allocsize 393216, page_const 4096
Stack trace:
Frame Function Args
XXXXXXXX XXXXXXXX (XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX)
XXXXXXXX XXXXXXXX (XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX)
XXXXXXXX XXXXXXXX (XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX)
XXXXXXXX XXXXXXXX (XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX)
XXXXXXXX XXXXXXXX (XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX)
...
...
End of stack trace
12 [main] sh 5068 fork: child -1 - died waiting for longjmp before
initialization, retry 0, exit code 0x100, errno 11
/bin/sh: fork: retry: Resource temporarily unavailable
If you run into this problem, please contact the
FTOOLS help desk for further assistance.
Pre-compiled binaries built on:
Cygwin DLL 1.7.9 - GNU compilers v4.3.4 (cygming special), perl v5.10.1
Tested at GSFC on:
Cygwin DLL 1.7.9 - GNU compilers v4.3.4 (cygming special), perl v5.10.1
Apple/Mac
-
OS: Intel OS X / Darwin
OS Versions:
- Darwin 12.x (Mac OS X 10.8.x [Mountain Lion])
- Darwin 11.x (Mac OS X 10.7.x [Lion])
- Darwin 10.x (Mac OS X 10.6.x [Snow Leopard])
Compilers: We recommend and support the following:
- Darwin 12.x / Mac OS X 10.8.x [Mountain Lion]:
Apple XCode C and Perl compilers (gcc & g++ v4.2.1, and
perl 5.12.4, all typically located in /usr/bin/), plus one of the
following Fortran compilers:
g95, installed from g95.org.
On OS X 10.8.x, you will need to use the
"current snapshot" version 0.94
or the
stable version 0.93.
gfortran (v4.6.3), installed from the fink package "gcc46".
Typically installed as /sw/bin/gfortran.
gfortran (v4.7.0), installed from the MacPorts package
"gcc47", but see Known Issues below.
Install using the "+universal" variant in order to get the 32-bit
compatibility needed by HEASoft.
Typically installed as /opt/local/bin/gfortran-mp-4.7.
gfortran (v4.8.0), installed from
HPC @ Sourceforge -
Note:
Due to potential conflicts between the HPC libstdc++ included with this compiler
and the Apple XCode version of libstdc++, we recommend that you symbolically link
the HPC gfortran and quadmath libraries into your $HEADAS/lib
directory, for example:
cd $HEADAS/lib
ln -s /usr/local/lib/i386/libgfortran.3.dylib
ln -s /usr/local/lib/i386/libquadmath.0.dylib
The
AT&T gfortran compiler
(recommended by e.g. SciPy) is not supported due
to multiple internal errors stating "address not in any section for architecture i386."
The Fink & MacPorts C compilers
are not currently supported on OS X 10.8.x due to problems in the third-party packages
readline and XPA.
- Darwin 11.x / Mac OS X 10.7.x [Lion]:
Apple XCode C and Perl compilers (gcc & g++ v4.2.1, and
perl 5.12.3, all typically located in /usr/bin/), plus one of the
following Fortran compilers:
g95, installed from g95.org.
On Lion (and newer Mac OS X), you will need to use the
"current snapshot" version 0.94
or the
stable version 0.93.
gfortran (v4.6.2), installed from the fink package "gcc46".
Typically installed as /sw/bin/gfortran.
gfortran (v4.7.0), installed from the MacPorts package
"gcc47", but see Known Issues below.
Install using the "+universal" variant in order to get the 32-bit
compatibility needed by HEASoft.
Typically installed as /opt/local/bin/gfortran-mp-4.7.
gfortran (v4.8.0), installed from
HPC @ Sourceforge -
Note:
Due to potential conflicts between the HPC libstdc++ included with this compiler
and the Apple XCode version of libstdc++, we recommend that you symbolically link
the HPC gfortran and quadmath libraries into your $HEADAS/lib
directory, for example:
cd $HEADAS/lib
ln -s /usr/local/lib/i386/libgfortran.3.dylib
ln -s /usr/local/lib/i386/libquadmath.0.dylib
The
AT&T gfortran compiler
(recommended by e.g. SciPy) is not supported due
to multiple internal errors stating "address not in any section for architecture i386."
The Fink & MacPorts C compilers
are not currently supported on OS X 10.7.x due to problems in the third-party packages
readline and XPA.
Darwin 10.x / Mac OS X 10.6.x [Snow Leopard]:
Apple XCode C and Perl compilers (gcc & g++ v4.2.1, and
perl 5.10.0, all typically located in /usr/bin/), plus one of the
following Fortran compilers:
g95, installed from g95.org.
gfortran (v4.4.1), installed from the fink package "gcc44".
Typically installed as /sw/bin/gfortran.
gfortran (v4.4.6), installed from the MacPorts package
"gcc44", but see Known Issues below.
Install using the "+universal" variant in order to get the 32-bit
compatibility needed by HEASoft.
Typically installed as /opt/local/bin/gfortran-mp-4.4.
gfortran (v4.8.0), installed from
HPC @ Sourceforge -
Note:
Due to potential conflicts between the HPC libstdc++ included with this compiler
and the Apple XCode version of libstdc++, we recommend that you symbolically link
the HPC gfortran and quadmath libraries into your $HEADAS/lib
directory, for example:
cd $HEADAS/lib
ln -s /usr/local/lib/i386/libgfortran.3.dylib
ln -s /usr/local/lib/i386/libquadmath.0.dylib
The
AT&T gfortran compiler
(recommended by e.g. SciPy) is not supported due
to multiple internal errors stating "address not in any section for architecture i386."
Fink-installed GNU Compiler Collection Version 4.2
(gcc42), 4.3 (gcc43) or 4.4 (gcc44),
consisting of gcc-4, g++-4, and gfortran.
MacPorts GNU Compiler Collection Version 4.4.3 or 4.4.6
consisting of gcc-mp-4.4, g++-mp-4.4, and
gfortran-mp-4.4, but see Known Issues below.
Known Issues:
- MacPorts build architecture:
Install compiler packages ("gcc#") using the "+universal" variant
in order to get the 32-bit compatibility required by HEASoft.
- Perl & C:
It is recommended that users avoid mixing Perl and C
compilers from different sources (e.g. Perl from MacPorts paired
with the XCode C compilers) as Perl has underlying dependencies
on the C compiler it was built with and may be incompatible
with a C compiler from another source. We encourage you to always
use the XCode Perl and C/C++ for any build. To ensure that your
HEASoft build makes the correct choices for these compilers, we
recommend setting the appropriate environment variables:
setenv CC /usr/bin/gcc
setenv CXX /usr/bin/g++
setenv PERL /usr/bin/perl
or, in bash:
export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
export PERL=/usr/bin/perl
- X11:
We recommend
XQuartz for Macs.
Users should
note that currently HEASoft is (internally) forced into 32-bit mode on Mac
OS X, and therefore requires a 32-bit compatible version of X11. When
using other X11 distributions (MacPorts, etc.) users should be careful to
avoid 64-bit only installations (see note below regarding MacPorts build
architectures).
- Perl architecture flags vs. XCode:
Some users may run into build errors in the CFITSIO Perl module
(referencing the file CFITSIO.xs) when pairing newer XCode distributions
whose compilers no longer support the PowerPC architecture (designated by
the "-arch ppc" compiler flag) with a Perl built using an older XCode
compiler:
... assembler (...) for architecture ppc not installed
Perl installations built with older XCode gcc will attempt to insert the
"-arch ppc" flag into Makefiles for the Perl modules, causing the error
above. Users may choose to either rebuild their version of Perl with
the newer XCode, or alternatively force Perl to leave out the "-arch ppc"
flag by editing
/System/Library/Perl/5.X.X/darwin-thread-multi-2level/Config_heavy.pl
to remove "-arch ppc" from the $archflags setting near the end
of the file:
$archflags = exists($ENV{ARCHFLAGS}) ? $ENV{ARCHFLAGS} : '-arch x86_64 -arch i386 -arch ppc';
After making this edit, remove the problematic Makefile and restart the
build:
rm heasoft-6.13/heacore/Astro-FITS-CFITSIO/Makefile
cd heasoft-6.13/BUILD_DIR/
make >& build.log2 &
etc.
Tested at GSFC on:
Intel Mac OS X 10.8.0 (Darwin 12.2 / Mountain Lion)
- GNU gcc/g++ 4.2.1 [Apple XCode] + g95 4.1.2 [g95.org], perl 5.12.4
Intel Mac OS X 10.7.4 (Darwin 11.4 / Lion)
- GNU gcc/g++ 4.2.1 [Apple XCode] + gfortran 4.6.2 [fink], perl 5.12.3
- GNU gcc/g++ 4.2.1 [Apple XCode] + g95 4.1.2 [g95.org], perl 5.10.0
Intel Mac OS X 10.6.8 (Darwin 10.8 / Snow Leopard)
- GNU gcc/g++ 4.2.1 [Apple XCode] + gfortran 4.4.1 [fink], perl 5.10.0
- GNU gcc/g++ 4.2.1 [Apple XCode] + gfortran 4.4.3 [macports], perl 5.10.0
- GNU gcc/g++ 4.2.1 [Apple XCode] + g95 4.0.3 [g95.org], perl 5.10.0
- GNU gcc/g++/gfortran 4.4.1 [fink], perl 5.10.0
- GNU gcc/g++/gfortran 4.4.3 [macports], perl 5.10.0
Pre-compiled binaries built on:
Intel Mac OS X 10.8.0 (Darwin 12.2 / Mountain Lion): GNU gcc/g++ 4.2.1 [Apple XCode] + g95 4.1.2 [g95.org], perl 5.12.4
Intel Mac OS X 10.7.4 (Darwin 11.4 / Lion): GNU gcc/g++ 4.2.1 [Apple XCode] + g95 4.1.2 [g95.org], perl 5.12.3
Intel Mac OS X 10.6.8 (Darwin 10.8 / Snow Leopard): GNU gcc/g++ 4.2.1 [Apple XCode] + g95 4.0.3 [g95.org], perl 5.10.0
UNSUPPORTED:
Use of HEASOFT is no longer supported under the following:
- Sparc/SunOS (dropped in HEASOFT 6.13)
- PPC/Darwin (dropped in HEASOFT 6.11.1)
- PPC/Linux (dropped in HEASOFT 6.5)
- Alpha/OSF (dropped in HEASOFT 6.1.2)
- SGI/IRIX (dropped in HEASOFT 6.0)
- AIX
- IRAF
- VMS
Help lines:
FTOOLS
or
xanprob@athena.gsfc.nasa.gov
Web page maintained by
Bryan K. Irby
HEASARC Home |
Observatories |
Archive |
Calibration |
Software |
Tools |
Students/Teachers/Public
Last modified: Thursday, 31-Jan-2013 14:03:58 EST
|