HEASoft Supported Architectures & Operating Systems




Quick Links:




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):
      
        Ubuntu Linux:
      
          apt-get install libreadline6-dev
          apt-get install libncurses5-dev
          apt-get install xorg-dev
          apt-get install gcc g++ gfortran
          apt-get install perl-modules
          apt-get install python-dev
      
        Fedora Linux:
      
          yum install ncurses-devel
          yum install libXt-devel
          yum install gcc
          yum install gcc gcc-c++
          yum install gcc gcc-gfortran
          yum install perl-ExtUtils-MakeMaker
          yum install python-devel
        
      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.9 - GNU compilers v4.1.2, Perl v5.8.8
    x86_64: Scientific Linux 5.9 - GNU compilers v4.1.2, Perl v5.8.8

    Tested at GSFC on:
    i686: Scientific Linux 5.9 - GNU compilers v4.1.2, Perl v5.8.8
    i686: Scientific Linux 5.9 - GNU compilers v4.8.1, Perl v5.8.8
    x86_64: Scientific Linux 6.4 - GNU compilers v4.4.7, Perl v5.10.1
    x86_64: Scientific Linux 5.9 - GNU compilers v4.1.2, Perl v5.8.8
    x86_64: Ubuntu 13.04 - GNU compilers v4.7.3, Perl v5.14.2
    x86_64: Fedora 19 - GNU compilers v4.8.1, Perl v5.16.3

  • OS: CYGWIN
      OS Versions: 1.7.18 or higher (Windows XP only)

      Compilers: GNU compilers (tested at LHEA with version 4.5.3)

      Known Issues:

      • Windows 7 & 8: The pre-compiled binaries were built in Cygwin under Windows XP and will thus only behave properly under XP. Source code builds in Cygwin under Windows 7 or 8 also have issues which we hope to resolve in the near future, but for now, installations of HEASoft in Cygwin under Windows 7 or 8 are not supported.

      • 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.18 - GNU compilers v4.5.3, perl v5.14.2

      Tested at GSFC on: Cygwin DLL 1.7.18 - GNU compilers v4.5.3, perl v5.14.2


    Apple/Mac

    • OS: Intel OS X / Darwin

      OS Versions:

      • Darwin 13.x (Mac OS X 10.9.x [Mavericks])
      • 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 13.x / Mac OS X 10.9.x [Mavericks]:

        Apple XCode C and Perl compilers (gcc & g++ v4.2.1, and perl 5.16.2, all typically located in /usr/bin/), plus one of the following Fortran compilers:

          g95, installed from g95.org. On OS X 10.9.x, you will need to use the "current snapshot" version 0.94 .

          gfortran, installed from the fink package manager.
          Typically installed as /sw/bin/gfortran.

          gfortran, installed from the MacPorts package manager, 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.x.

          gfortran (v4.9.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
                     
          Users of pyXspec (Python interface to Xspec) should not use the HPC gfortran in their build; a dependency on the HPC gcc_s library is triggered as a result, and linking the HPC libgcc_s into $HEADAS/lib is not a workable option.

          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 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
                     
          Users of pyXspec (Python interface to Xspec) should not use the HPC gfortran in their build; a dependency on the HPC gcc_s library is triggered as a result, and linking the HPC libgcc_s into $HEADAS/lib is not a workable option.

          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
                     
          Users of pyXspec (Python interface to Xspec) should not use the HPC gfortran in their build; a dependency on the HPC gcc_s library is triggered as a result, and linking the HPC libgcc_s into $HEADAS/lib is not a workable option.

          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
                     
          Users of pyXspec (Python interface to Xspec) should not use the HPC gfortran in their build; a dependency on the HPC gcc_s library is triggered as a result, and linking the HPC libgcc_s into $HEADAS/lib is not a workable option.

          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
               setenv PYTHON /usr/bin/python
        
             or, in bash:
        
               export CC=/usr/bin/gcc
               export CXX=/usr/bin/g++
               export PERL=/usr/bin/perl
               export PYTHON=/usr/bin/python
             
      • 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.15.1/heacore/Astro-FITS-CFITSIO/Makefile
                 cd heasoft-6.15.1/BUILD_DIR/
                 make >& build.log2 &
                 etc.
             


      Tested at GSFC on:
      Intel Mac OS X 10.9 (Darwin 13.0 / Mavericks)
      - GNU gcc/g++ 4.2.1 [Apple XCode 5.0.1] + g95 0.94 [g95.org], Perl 5.16.2
      - GNU gcc/g++ 4.2.1 [Apple XCode 5.0.1] + gfortran 4.8.2 [MacPorts], Perl 5.16.2
      - GNU gcc/g++ 4.2.1 [Apple XCode 5.0.1] + gfortran 4.9.0 [HPC/FSF], Perl 5.16.2

      Intel Mac OS X 10.8.4 (Darwin 12.5 / Mountain Lion)
      - GNU gcc/g++ 4.2.1 [Apple XCode 4.6.3] + g95 0.94 [g95.org], Perl 5.12.4
      - GNU gcc/g++ 4.2.1 [Apple XCode 4.6.3] + gfortran 4.6.1 [fink], Perl 5.12.4
      - GNU gcc/g++ 4.2.1 [Apple XCode 4.6.3] + gfortran 4.8.1 [HPC/FSF], Perl 5.12.4

      Intel Mac OS X 10.7.5 (Darwin 11.4 / Lion)
      - GNU gcc/g++ 4.2.1 [Apple XCode 4.2] + g95 0.94 [g95.org], Perl 5.12.3
      - GNU gcc/g++ 4.2.1 [Apple XCode 4.2] + gfortran 4.6.3 [fink], Perl 5.12.3
      - GNU gcc/g++ 4.2.1 [Apple XCode 4.2] + gfortran 4.7.0 [MacPorts], Perl 5.12.3

      Intel Mac OS X 10.6.8 (Darwin 10.8 / Snow Leopard)
      - GNU gcc/g++ 4.2.1 [Apple XCode 3.2.6] + g95 0.94 [g95.org], Perl 5.10.0
      - GNU gcc/g++ 4.2.1 [Apple XCode 3.2.6] + gfortran 4.5.3 [MacPorts], Perl 5.10.0

      Pre-compiled binaries built on:
      Intel Mac OS X 10.9 (Darwin 13.0 / Mavericks): GNU gcc/g++ 4.2.1 [Apple XCode 5.0.1] + g95 0.94 [g95.org], Perl 5.16.2
      Intel Mac OS X 10.8.4 (Darwin 12.5 / Mountain Lion): GNU gcc/g++ 4.2.1 [Apple XCode 4.6.3] + g95 0.94 [g95.org], Perl 5.12.4
      Intel Mac OS X 10.7.5 (Darwin 11.4 / Lion): GNU gcc/g++ 4.2.1 [Apple XCode 4.2] + g95 0.94 [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 3.2.6] + g95 0.94 [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, 27-Mar-2014 08:40:01 EDT