HEASoft Supported Architectures & Operating Systems




  • A note about using 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.
  • A note about using HEASoft and CIAO:




  • x86 / x86_64 PC

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


      • 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
          
      • (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 3.4.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.5.25 - GNU compilers v3.4.4 (cygming special), perl v5.8.7

      Tested at GSFC on: Cygwin DLL 1.5.25 - GNU compilers v3.4.4 (cygming special), perl v5.10.0


    MACINTOSH

    • OS: Intel OS X / Darwin

      OS Versions:

      • Darwin 11.x (Mac OS X 10.7.x [Lion])
      • Darwin 10.x (Mac OS X 10.6.x [Snow Leopard])
      • Darwin 9.x (Mac OS X 10.5.x [Leopard])


      Compilers: We recommend one of the following compiler configurations:

      • Apple XCode compilers gcc/g++ (v4.0.1, or v4.2.1 under Snow Leopard or Lion)
        plus
        gfortran (fink-installed),
        or
        gfortran (MacPorts-installed, but see Known Issues below),
        or
        gfortran (HPC @ Sourceforge - Note that when using this version of gfortran, you need to add the path to its "lib/i386" directory to your DYLD_LIBRARY_PATH environment variable in order to successfully build the software).
        or
        g95 (g95.org) OS 10.6 Leopard & 10.7 Snow Leopard only. Currently, the x86 OSX binaries provided at g95.org do not work under Mac OS 10.7.x / Lion.

      • Fink-installed GNU Compiler Collection Version 4.2 (gcc42), 4.3 (gcc43) or 4.4 (gcc44), consisting of gcc-4, g++-4, and gfortran.

        The Fink gcc46 C compiler ("gcc-4" = gcc v4.6.2) is not currently supported due to problems in the third-party packages readline and XPA.



      • 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:

      • 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.11/heacore/Astro-FITS-CFITSIO/Makefile
                 cd heasoft-6.11/BUILD_DIR/
                 make >& build.log2 &
                 etc.
             


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


      • MacPorts build architecture:

        Due to ongoing problems with Perl modules in a pure 64-bit build on Snow Leopard, we find it necessary to continue forcing the compilers used in building HEASOFT into 32-bit mode (using either the -arch i386 or -m32 compiler flags). Unfortunately the MacPorts gfortran compiler v4.4.6 does not appear to successfully use the -m32 flag, so users may find it necessary to edit the file
                   /opt/local/etc/macports/macports.conf
             
        to uncomment and change the build_arch definition (~line 59) to "i386" instead of "x86_64" prior to installing the gcc4 compiler package in order to ensure that HEASOFT can be built in 32-bit mode.


      Tested at GSFC on:
      Intel Mac OS X (Darwin 10.2.0 / 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

      Intel Mac OS X (Darwin 9.8.0 / Leopard) -
      - GNU gcc/g++ 4.0.1 [Apple XCode] + g95 4.0.3 [g95.org], perl 5.8.8
      - GNU gcc/g++/gfortran 4.3.3 [fink], perl 5.8.8

      Pre-compiled binaries built on:
      Intel Mac OS X (Darwin 10.2.0 / Snow Leopard): GNU gcc/g++ 4.2.1 [Apple XCode] + g95 4.0.3 [g95.org], perl 5.10.0
      Intel Mac OS X (Darwin 9.8.0 / Leopard): GNU gcc/g++ 4.0.1 [Apple XCode] + g95 4.0.3 [g95.org], perl 5.8.8


    • OS: PPC OS X / Darwin (No longer supported as of HEASoft 6.11.1 - see note below)

      OS Versions:

      • Darwin 9.x - Mac OS X 10.5.x [Leopard]

      Compilers: We recommend one of the following compiler configurations:

      • Apple XCode compilers gcc/g++ (4.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:

      • Support for PPC Darwin has been dropped as of the HEASoft 6.11.1 release, as we are no longer able to test the software or generate pre- compiled binaries on this platform. However, users are free to try building HEASoft from the source code distribution on PPC Darwin as it and its build procedures were relatively stable at the time we discontinued support.



    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:

      • Utilities ln and touch in /usr/ucb/bin do not behave in the standard way (i.e. that in which HEASOFT expects them to behave), so users are urged to put /usr/ucb/bin "downstream" of /bin in their PATH in order to prevent build errors.

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


      Pre-compiled binaries built on: Sparc / SunOS v5.9 - SunStudio12 cc/CC/f95, perl 5.8.8

      Tested at GSFC on: Sparc / SunOS v5.9 - SunStudio12 cc/CC/f95, perl 5.8.8


    UNSUPPORTED:

    Use of HEASOFT is no longer supported under the following:

    • 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: Tuesday, 07-Feb-2012 16:33:15 EST