HEAsoft v6.25 - Known Issues

If you are using HEASOFT v6.24 and don't want to upgrade to v6.25 just yet, see the HEASOFT 6.24 Issues List.

Several packages track issues separately from this page:

The following is a list of known issues in v6.25 of HEAsoft not covered by the above pages.


Last modified Thursday, 27-Jun-2019 09:31:25 EDT
  • XSELECT:

    xselect v24e has a bug which leads to incorrect results in HK-based event selection ('select hk') and errors in MKF selection ('select mkf'). The bug causes extractor to be invoked with "timefile=NONE" instead of the correct "timefile=@xsel_timefile.asc".

    The HEASoft 6.25 source code downloads have been patched to update xselect to v24f as of 2019 January 18, but if you would like to rebuild your existing installation, you may update your existing HEASoft 6.25 source code distribution in the following way:

      1) Download the xselect v24f patch: xselect v24f patch
    
         It contains the following files,
    
           heasoft-6.25/ftools/xselect/include/xsel_ver.inc
           heasoft-6.25/ftools/xselect/xselflib/xsel_select.f
    
         so unpack it on top of your heasoft-6.25 source code tree (i.e. in the directory containing heasoft-6.25).
    
      2) Initialize HEASoft, clean out the previous xselect objects, rebuild and re-install:
    
         $ cd heasoft-6.25/ftools/xselect
         $ hmake clean
         $ hmake all
         $ hmake install
    
    
  • Ubuntu 18.10:

    Some of the older, Fortran-based HEASoft tasks (including, but not limited to maketime and addrmf) suffer memory faults when built on the latest Ubuntu OS (18.10). We are still assessing the scope of the problem, but for now Ubuntu users are advised to avoid upgrading beyond the 18.04 LTS OS.

    If you have already updated to 18.10, please note that many of the potentially affected older tasks have more modern analogs which should not be affected: for example, the new task ftaddrmf in the heasptools package is intended to replace the older addrmf.

    See the heatools help file and the heasptools help file for a cross-index of older tasks with their modern counterparts.

    Another possible route for 18.10 users may be to use a different compiler suite than the default /usr/bin/gcc,g++,gfortran, but this has not yet been verified.


  • XSTAR:

    A bug has been found which affects the output from xstar version 2.53, namely the file xout_spect1.fits: the outward emitted spectrum has the incident radiation field added into it. This is repaired in version 2.54, available from the xstar website or by applying the patch to HEASoft 6.25 below.

    The HEASoft 6.25 source code downloads have been patched to update xstar to v2.54 as of 2018 December 14, but if you would like to rebuild your existing xstar installation, you may update your existing HEASoft 6.25 source code distribution in the following way:

      1) Download the xstar v2.54 patch code: xstar v2.54 patch
    
         It contains a number of files under the following structure,
    
           heasoft-6.25/ftools/xstar/
    
         so unpack it on top of your heasoft-6.25 source code tree (i.e. in the directory containing heasoft-6.25).
    
      2) Initialize HEASoft, clean out the previous xstar build, rebuild and re-install:
    
         $ cd heasoft-6.25/ftools/xstar
         $ hmake clean
         $ hmake all
         $ hmake install
    
    
  • MAXI:

    The MAXI package has been updated for the following tasks:

    • mxproduct: Now handles the leap second file from REFAREA as the first choice; includes a more robust check for CALDB; fixes multiple spectra sum
    • mxdownload_wget: Modified help file to explicitly mention that a double argument must be separated by a comma without any space

    Current downloads (source and binary) include this update, but to fix pre-existing source installations (acquired prior to 2018 November 16), download our patch file which contains the following:
       heasoft-6.25/maxi/tasks/mxdownload_wget/mxdownload_wget.html
       heasoft-6.25/maxi/tasks/mxdownload_wget/mxdownload_wget.pl
       heasoft-6.25/maxi/tasks/mxproduct/mxproduct
    
    Unpack it on top of your heasoft-6.25 source code, then initialize your HEASoft installation and install the updates:
       $ cd heasoft-6.25/maxi/tasks
       $ hmake install
    
  • ximage and gfortran 8.x on macOS:

    When built with the Apple XCode C compiler paired with gfortran version 8.x, ximage may generate "Invalid header key" messages and a Tcl error "Failed to run tcl: pgtk::upcopy MAP1 MAP9". Subsequent attempts to display the image may then result in a segmentation fault. Note that this problem will affect tasks that use ximage such as xrtpipeline. Our current suggestion is to use one of the other Fortran compilers recommended in our Mac installation guide. Note for example that SourceForge currently also provides gfortran v7.3 for High Sierra, and the problem with ximage is not present when HEASOFT is built using it.

    An additional alternative is to use all of the GCC 8.x compiler suite (i.e. not just gfortran) and build HEASOFT using the complete set of 8.x compilers, for example, if using MacPorts:
        % setenv CC /opt/local/bin/gcc-mp-8       % export CC=/opt/local/bin/gcc-mp-8
        % setenv CXX /opt/local/bin/g++-mp-8      % export CXX=/opt/local/bin/g++-mp-8
        % setenv FC /opt/local/bin/gfortran-mp-8  % export FC=/opt/local/bin/gfortran-mp-8
    
      Or, if using GCC 8.x from HPC/SourceForge:
    
        % setenv CC /usr/local/bin/gcc            % export CC=/usr/local/bin/gcc
        % setenv CXX /usr/local/bin/g++           % export CXX=/usr/local/bin/g++
        % setenv FC /usr/local/bin/gfortran       % export FC=/usr/local/bin/gfortran
    
    This combination should result in a working ximage.

  • fv segmentation fault on Mac OS:

    The fv GUI suffers random segmentation faults on the Mac OS when trying to export data as text. Until this problem is resolved, please note that the ftlist utility may be used for this purpose instead. For example, to export a column "MYCOL" from the first extension (second HDU) of the file "table.fits" to an ASCII text file "table1_mycol.txt":

    
      ftlist infile=table.fits+1 outfile=table1_mycol.txt option=T columns=MYCOL colheader=no rownum=no
    
    
  • Mac "configure failed..." Fortran compiler issue:

    The configure script may generate an error ("Configure failed in the AST package!") resulting from a MacPorts assembler (as) under /opt/local/bin being ahead of the default Apple /usr/bin/as in a user's PATH (which may result from an automated change made to .profile during a MacPorts installation). To get past this issue, put /usr/bin at the front of your PATH:

       export PATH="/usr/bin:$PATH"
    
  • Cygwin build error "execvp: ./makeuctb.exe: Permission denied":

    When building HEASOFT while anti-virus software is running in the background, users may receive the error above from 'make' while in the lynx package. The solution is to disable any anti-virus software for the duration of the HEASOFT build. It may be re-enabled once the build is done (i.e. after running 'make' but before running 'make install').

  • MacPorts "unexpected token" linker issue:

    If you are using MacPorts compilers in your build, 'make' may fail when building the HEASoft source code distribution with an error referring to a new Xcode linker ("ld") format ("tbd"), e.g.:

    ld: in '/System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji.tbd', unexpected token: !tapi-tbd-v2 ...
    
    The underlying issue is discussed here and here; it appears that when new versions of the XCode command line tools are released, problems such as this may affect MacPorts compilers until they catch up with Apple's changes. Users should be able to get around the error in our build by installing the MacPorts 'xcode' variant of the linker ld64 as a temporary measure:
    
        sudo port install ld64 +ld64_xcode
    
    
    and when MacPorts eventually supports the latest XCode command line tools, you can switch back to the latest ld64 with the following:
    
        sudo port install ld64 +ld64_latest
    
    
  • Mac "suffix or operands invalid for 'movq'" Fortran compiler issue:

    When using the gnu.org gfortran binaries note their recommendation that when installing new versions of the compiler you should remove the previous gfortran installation first:

       $ sudo rm -r /usr/local/gfortran /usr/local/bin/gfortran
    
    Failure to do so may result in a corrupted compiler installation, leading to the "suffix or operands invalid for 'movq'" error.


  • Ubuntu ds9 & HEASoft:

    After initializing HEASoft on Ubuntu Linux, the ds9 GUI (if installed) may fail to start up (saying "can't find package xml" or "can't find package uri 1.1"). This results from incompatibilities between the Tcl/Tk included with HEASoft and the Ubuntu system libraries. Until a more elegant solution can be devised, we recommend that users try one of the following options, depending on the file type of your ds9 (shell script or compiled executable - check the output from "file `which ds9`" to determine which it is):

    
    1) If ds9 is the shell script version, edit it to change the line
    
         exec wish8.6 -f ${DS(_HOME-/usr/share/saods9}/library/ds9.tcl $*
    
       to
    
         exec /usr/bin/env -u LD_LIBRARY_PATH /usr/bin/wish8.6 -f ${DS9_HOME-/usr/share/saods9}/library/ds9.tcl $*
    
    or
    
    2) If ds9 is the compiled executable version, create a new file
       "$HEADAS/bin/ds9" containing the following lines:
    
         #!/bin/sh
         exec /usr/bin/env -u LD_LIBRARY_PATH /usr/bin/ds9 "$@"
    
       (Note this assumes that `which ds9` = /usr/bin/ds9)
    
       To make the new script executable, run the following command:
    
         $ chmod +x $HEADAS/bin/ds9
    
       Then, as long as $HEADAS/bin is ahead of /usr/bin in your PATH, you
       should now be able to successfully run ds9 from the command line:
    
         $ rehash
         $ ds9
    
    


  • Apple XCode vs. MacPorts gcc/g++:

    Some HEASoft tasks may fail with memory errors on Mac OS X when compiled with the MacPorts gcc/g++, so we continue to recommend that users build HEASoft only with the Apple XCode (Clang/LLVM) gcc/g++ compilers (and the XCode perl and python interpreters as well). This may be ensured by setting the relevant environment variables prior to running the configure script:
    
     In C-shell variants (tcsh/csh):       In Bourne shell variants (bash/sh):
    
        % setenv CC /usr/bin/gcc              % export CC=/usr/bin/gcc
        % setenv CXX /usr/bin/g++             % export CXX=/usr/bin/g++
        % setenv PERL /usr/bin/perl           % export PERL=/usr/bin/perl
        % setenv PYTHON /usr/bin/python       % export PYTHON=/usr/bin/python
    
    
    As Apple does not provide a Fortran compiler, you will need to use one installed from MacPorts (or elsewhere), so for example:
    
        % setenv FC /opt/local/bin/g95            % export FC=/opt/local/bin/g95
     or
        % setenv FC /opt/local/bin/gfortran-mp-5  % export % FC=/opt/local/bin/gfortran-mp-5
     or
        % setenv FC /usr/local/bin/gfortran       % export FC=/usr/local/bin/gfortran
    
    
    We stress that you avoid using /opt/local/bin/gcc-* and /opt/local/bin/g++-* when building HEASoft from the source code distribution.


  • "relocation R_X86_64_32 against `.rodata' can not be used when making a shared object":

    Users building HEASoft from the source code distribution may run into this error which refers to a "Bad value" in the file heacore/wcslib/C/cel.o, from which the linker "could not read symbols". It also suggests that you "recompile with -fPIC". This situation most likely occurrs when users perform a re-build after a previously unsuccessful build attempt. To get past this issue, try the following:
    
       $ cd heasoft-6.25/BUILD_DIR
       $ make distclean
    
    
    When that finishes, restart the build procedure beginning with "./configure", then "make", and let us know if this does not resolve the problem.


  • fv - XPA_METHOD:

    Some users of the fv GUI may experience long delays at startup, or error messages of the type "XPA$WARNING: xpans needs to be running on this machine", or "XPA$ERROR: invalid host name specified: $host:$port" (when using the ds9 display device). These issues tend to occur on Macs with customized firewall settings, or on machines without valid IP addresses. This can be resolved by setting the XPA_METHOD environment variable to the value "local" (to use local/UNIX sockets instead of inet sockets):
    
            export XPA_METHOD=local          # Bourne shell (bash/sh)
    or
            setenv XPA_METHOD local          # C-shell (csh/tcsh)
    
    
  • Perl version mismatch::

    Pre-compiled Perl libraries used extensively by mission software (Swift, Suzaku, NuSTAR) and other packages are not especially portable, so we generally recommend building HEASoft from the source code distribution.


  • xspec / PLT - wenv, whead, wdata:

    Some GNU Fortran compilers (gfortran 4.4.x, 4.0.x, 4.1.x) appear to have internal issues which prevent the PLT commands wenv, whead and wdata from working unless an output file is specified; i.e. attempts at producing terminal output may fail with "Fortran runtime error: Invalid argument". To get around this, provide an output file name when using these commands, for example:
         wenv myFile1.qdp
         whead myFile2.qdp
         wdata myFile3.qdp
    


  • HEASoft and other software packages (CIAO, XMM-SAS):

    Please note:

    Users may wish to download and run our hwrap script to create an alternate runtime environment for HEASOFT to help avoid conflicts with other software packages, but if not, please take note of the potential pitfalls below:

    • CIAO:

      Please see the following notes at the CXC website regarding the potential dangers of using CIAO and HEASOFT together in the same session:



    • XMM:

      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.


If you have any questions about the information above, please write to us at the FTOOLS help desk.
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