SUPPORTED ARCHITECTURES AND OPERATING SYSTEMS
-
Please see
this important note from the CXC about using CIAO and HEASOFT in the same
session.
x86 PC
-
OS: LINUX
OS Versions: preferred (32- or 64-bit): Redhat 7 or later (except Red Hat 8), Fedora, Scientific Linux
Compilers: GNU compilers v3.1 or higher. gfortran in GNU distributions 4.2.0 or higher is now supported. Intel compilers are supported.
UNSUPPORTED: GNU 2.96 compilers (unofficial, unstable GNU release), g95, gfortran 4.0.x or 4.1.x, Red Hat 8
Known Issues:
- Users who wish to get the HEAsoft pre-compiled Linux binaries should see our note about perl library portability.
-
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, 4.3.x, 4.4.x) 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 -
UBUNTU Linux: The default installation of this operating system
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 prior to configuring HEASoft
(source code distribution):
sudo apt-get install gfortran g++ sudo apt-get install libncurses5-dev sudo apt-get install x-dev libx11-dev libxt-dev - 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.
-
OS: CYGWIN
OS Versions: 1.5.5 or higher
Compilers: GNU compilers (tested at LHEA with version 3.4.4)
Known Issues: Please see the README.CYGWIN document before attempting to build HEAsoft in the Cygwin environment.
Please note that some packages are NOT supported in Cygwin: Suzaku, and the 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.
MACINTOSH
-
OS: Intel OS X / Darwin
OS Versions:
- Darwin 10.x (Mac OS X 10.6.x [Snow Leopard])
- Darwin 9.x (Mac OS X 10.5.x [Leopard])
- Darwin 8.x (Mac OS X 10.4.x [Tiger])
Compilers: We recommend one of the following compiler configurations:
- Apple XCode compilers gcc/g++ (v4.0.1, or v4.2.1 under
Snow Leopard) plus g95 (fink-installed or from
www.g95.org)
or
- Fink-installed GNU Compiler Collection Version 4.2 (gcc42), 4.3 (gcc43) or 4.4 (gcc44), consisting of gcc-4, g++-4, and gfortran.
Known Issues:
- configure problem on newer CPUs:
When configuring the HEASOFT source code, the AST configure script may fail with an error while "checking if gfortran is in strict f2c compatible mode" ("failed to link program"). Evidence suggests this is a result of trying to link the default x86_64 C/C++ objects generated by gcc/g++ with i386 Fortran objects generated by g95 or gfortran. This should only occur on newer CPUs which default to x86_64, e.g. Mac Pros or 2nd generation Intel Macs.
One approach to dealing with this is to set some relevant variables in your environment prior to running the HEASOFT configure script:setenv CFLAGS "-arch i386" setenv CXXFLAGS "-arch i386" setenv LD_FLAGS "-arch i386" setenv LDFLAGS "-arch i386"Another approach is to use Apple's GCC 4.0 compilers paired with g95.org's (g95 binary), both of which generate i386 binaries by default.
See also the related note below about Perl tasks.
If you have further questions or run into problems with either approach, please write to us at the FTOOLS help desk. - Perl script errors on newer CPUs:
When running Perl tasks (e.g. xrtpipeline) on newer CPUs, users may see unresolved symbol errors:dyld: lazy symbol binding failed: Symbol not found: _ffopen Referenced from: /.../heasoft-6.7/i386-apple-darwin10.0.0/lib/perl/auto/Astro/FITS/CFITSIO/CFITSIO.bundle Expected in: flat namespace dyld: lazy symbol binding failed: Symbol not found: _headas_init Referenced from: /.../heasoft-6.7/i386-apple-darwin10.0.0/lib/perl/auto/HEACORE/HEAINIT/HEAINIT.bundle Expected in: flat namespaceEvidence suggests these errors occur on newer CPUs where the default Perl installation is 64-bit, resulting in an incompatibility with the 32-bit Perl binaries (either the pre-compiled binaries from HEASOFT or the 32-bit binaries built as described in the note above).
Users should be able to bypass these errors by setting the VERSIONER_PERL_PREFER_32_BIT environment variable to "yes", i.e. in C-Shell syntax:setenv VERSIONER_PERL_PREFER_32_BIT yesIf this does not take care of the problem, our other recommendation is to build Perl v5.10.0 using Apple's i386 "gcc4.0" compiler suite and in turn use it when building or running HEASOFT tasks to ensure 32-bit compatibility.
-
OS: PPC OS X / Darwin
OS Versions:
- Darwin 9.x - Mac OS X 10.5.x [Leopard]
- Darwin 8.x - Mac OS X 10.4.x [Tiger]
- Darwin 7.x - Mac OS X 10.3.x [Panther]
Compilers: We recommend one of the following compiler configurations:
- Apple XCode compilers gcc/g++ (v4.0.1) plus
g95 (fink-installed or from
www.g95.org)
or
- Fink-installed GNU Compiler Collection Version 4.2 (gcc42) or 4.3 (gcc43), consisting of gcc-4, g++-4, and gfortran.
UNSUPPORTED:
- Note re: g77 3.4.3 compiler: Please note that there is a (minor) problem for Xspec users: when built with g77 3.4.3, the PLT file output commands (WData, WEnviron, and WHead) do not work properly when PLT is run from XSPEC12 (by XSPEC's iplot command). They may result in blank output files (with some of the information instead appearing in a file named "fort.49"). If this causes a problem, we recommend installing g95 in place of g77.
Known Issues:
- libcc_dynamic:
Tiger users may need to use the Disk Utility to repair permissions on the Tiger startup volume in order for HEASOFT (specifically xspec12) to build correctly. Double-click on Disk Utility, select the appropriate volume under First Aid, then click the repair permissions button. Or, use the command-line version, diskutil: for example, "diskutil repairPermissions /".
This procedure restores libcc_dynamic, which is needed in order for xspec12 to link properly. If that library has not been restored, you may see the error "type S_REGULAR does not match previous objects type S_COALESCED".
Please note that the existing pre-compiled Darwin binaries (built in Darwin 7.9.0) seem to work okay in Darwin 8.x.x. - fork:
Darwin users may encounter "fork: resource temporarily unavailable" errors during the HEASoft build. The "fork" system tool is used for spawning child processes of a given task (here, the HEASoft build), and the maximum number of processes by a single user ("maxproc") may sometimes be exceeded due to the flexible build paradigm used in HEASoft. For Mac OS X users, this limit can be checked by using the "limit" command. The default "maxproc" generally seems to be 100, which should be fine for most users. Users who are running a large number of other programs are advised to exit some of these tasks before building HEASoft to avoid hitting the "fork" error during the build. If you wish to raise the maxproc limit, the method used depends on the version of Darwin you're running:
- OS X 10.3.x (Panther):
maxproc may be altered using the "sysctl" command, or by creating /etc/sysctl.conf (if it doesn't already exist) with the contents:> cat /etc/sysctl.conf # Turn up maxproc kern.maxproc=2048 # Turn up the maxproc per user kern.maxprocperuid=512 - OS X 10.4.x (Tiger):
The launchctl utility can be used to set/alter resource limits. You can check the current settings by running launchctl limit. To change the settings you need to create /etc/launchd.conf (if it doesn't already exist) with the contents:> cat /etc/launchd.conf limit maxproc 512 2048The first number is the soft limit and the second number is the hard limit.
- OS X 10.3.x (Panther):
-
XSPEC & G77 3.4.3: When built with g77 3.4.3, the PLT file output commands (WData, WEnviron, and WHead) do not work properly when PLT is run from XSPEC12 (by XSPEC's iplot command). They may result in blank output files (with some of the information instead appearing in a file named "fort.49"). If this causes a problem, we recommend installing g95 in place of g77.
SUN OS / SOLARIS
-
OS Versions: SunOS 5.6 or higher
Compilers: As of HEASoft 6.4.1, the following compilers are supported:
- Sun Studio 12 C ("cc"), C++ ("CC"), f95
- Sun Workshop C ("cc"), C++ ("CC") and Fortran (f95 or f90) - Workshop 7 is preferred
- GNU compilers 4.x or newer (gcc, g++, gfortran)
UNSUPPORTED: Workshop 6.2 C++ (CC), g77
Known Issues:- Builds on SunOS using non-GNU compilers now have Fortran optimization turned off by default, due to runtime problems found when using the SunStudio Fortran compiler (f95). Users who wish to increase optimization for e.g. the Workshop Fortran compiler may configure HEASOFT using the '--with-fopt=' option.
- The Workshop 6.2 compilers are not supported, and are known to fail in compilation of the makefilter task and generate run-time problems in xspec v12. We recommend upgrading to the Workshop 7 compilers.
- The default Solaris sed (usually /usr/bin/sed) has a line-length limitation (approximately 4000-characters) which may cause a build failure in the fitsTcl library. The best solution is to install the GNU sed, which has no such limitations. If you install the package from www.sunfreeware.com, it will put GNU sed in /usr/local. Make sure that 'make' can find the GNU sed before it finds Sun's sed by putting /usr/local/bin before /usr/bin in your $PATH. Alternately, you may be able to circumvent the build problem by keeping the directory path to the HEASOFT source code tree as short as possible.
- The Native Solaris tar (typically /usr/bin/tar) is known to have problems unpacking some pre-compiled binary distribution tar files downloaded from the HEASOFT download page, due to a fundamental incompatibility (relating to how long pathnames are encoded) with GNU tar (with which the tar files are created). If you do not already have GNU tar installed (typically /usr/local/bin/tar), we recommend installing and using it instead (distributed freely from GNU here).
UNSUPPORTED:
Use of HEASOFT is not supported under the following:
- Linux/PPC
- OSF/Alpha
- AIX
- IRAF
- IRIX
- 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: Tuesday, 20-Oct-2009 16:00:54 EDT
