HEASoft v6.34 - Known Issues

If you are using HEASoft v6.33 and don't want to upgrade to v6.34 just yet, see the HEASoft 6.33 Issues List.

Several packages track issues separately from this page:

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


Last modified Thursday, 03-Oct-2024 10:47:15 EDT
  • nupipeline:

    In NuSTARDAS v2.1.4. the nupipeline task may fail with an error

    nupipeline_0.4.12: Metrology System: input files not found
    
    for users of QuickLook ToO products while looking for files in an event_cl/ directory that does not yet exist.

    Running nupipeline with check_metsim_files=no, or running the command

    pset nupipeline check_metsim_files=no
    
    prior to running nupipeline fixes the issue. The 6.34 downloads have been udpated (to "nustardas_16Sep24_v2.1.4a") with this fix on 16 September.

  • numetrology:

    The NuSTARDAS task numetrology may fail when built with the default Apple C compiler (clang) - e.g., while running nupipeline - with an error

    nupipeline_0.4.9: Error: running 'numetrology'
    
    Tests suggest that this error can be resolved by rebuilding numetrology with compiler optimization turned off, which may be accomplished in the following way: first, initialize heasoft and then edit the file
    heasoft-6.34/nustar/BUILD_DIR/hmakerc
    
    to change COPT (line 88) from "-O2" to "", then:
    cd nustar/tasks/numetrology
    hmake clean
    hmake all
    hmake install
    

  • SAOImage DS9 on MacOS:

    As noted on the SAOImage download page, please be aware that the DS9 Aqua application does not allow for runtime command line options, as required by e.g., xselect, so we recommend installing the Darwin X11 version of ds9 instead.

  • Xspec on older Macs:

    Compilation of Xspec may fail under older macOS with the error:

    'timespec_get' was not declared in this scope
    
    Users should be able to get past this by editing lines 47-51 of
         heasoft-6.33.2/Xspec/src/XSutil/Utils/TimeUtility.cxx
    
    to change this code block:
         # if defined(__APPLE__)
             timespec_get(&tnow, TIME_UTC);
         #else
             clock_gettime(CLOCK_REALTIME, &tnow);
         #endif
    
    To just this:
         clock_gettime(CLOCK_REALTIME, &tnow);
    
  • Ubuntu (22.04) and pip version 22.0.2:

    When running "make install" on Ubuntu (22.04 only?), users may need to update the default pip version (22.0.2) to avoid errors installing HEASoftPy:

    Building wheels for collected packages: UNKNOWN
    ...
    HEASoftPy not found under heasoft-6.34/heacore/heasoftpy/build
    
    To update pip to a newer version (e.g., 24.0):
    sudo pip install --upgrade pip
    
  • FV in Virtual Machines:

    When used on Virtual Desktops (e.g. VirtualBox), FV windows may appear blank. This issue may be mitigated by disabling "3D acceleration" in the display options.

  • IXPE & MatPlotLib:

    The IXPE task ixpeplot_polarization may fail with a cryptic and unhelpful error message when using MatPlotLib older than version 3.7.0. To fix this issue, update to version 3.7.0 (or newer).


  • IXPE & AstroPy:

    Due to a bug in certain 5.x versions of AstroPy, some files (such as the IXPE Level 1 event files) containing variable-length arrays may trigger in several IXPE tools a "ValueError" with the message "the heapsize limit for 'P' format has been reached. Please consider using the 'Q' format for your file.", even if the file is already formatted with the "Q" format. Affected versions of AstroPy appear to be 5.0.5, 5.0.6, 5.1.1, 5.2, 5.2.1, and 5.2.2, so users encountering this issue are advised to update to v5.3.0 or newer.


  • Mac "Configure failed":

    The HEASoft configure script may fail with "C compiler cannot create executables", "Configure failed in the AST package!", or "configure failed for heacore component fftw!", and one of the config.logs may show

    ld: library not found for -lSystem

    This error typically implies that third-party compiler suites (e.g. Homebrew or MacPorts, needed in order to provide a Fortran compiler) are out-of-synch with the Apple (XCode) Command Line Tools (CLT), for example if you updated the CLT but did not reinstall MacPorts or Homebrew after doing so. Since these third-party compilers use the CLT, they must typically be rebuilt/reinstalled whenever XCode/CLT are updated.

    For example, some users have worked their way past this by uninstalling the CLT and then reinstalling the CLT, then uninstalling and reinstalling the Homebrew compilers.

    Other compiler-related failures during the configure stage can typically be resolved by putting /usr/bin at the front of your PATH environment variable (as recommended in our Mac installation guide), e.g. to put the Apple assembler and other system utilities ahead of third-party versions in order of preference.

  • WSL and Windows PATH variables:

    Some users of WSL on Windows may have PATH environment variables that contain directory paths containing double quotes ("). The HEASoft initialization will fail as a result, so users need to modify their PATH variable to remove the offending characters.
  • CentOS 7.x compilers: Note for users of CentOS 7.x: On CentOS 7, the default GNU compiler suite is v4.8, which is not supported for building HEASoft. CentOS 7 users may install a newer 'devtoolset' compiler suite for use in building HEASoft, in the following way (for example):
        sudo yum -y install devtoolset-9
        scl enable devtoolset-9 bash
    
        Locate the devtoolset-9 installed directories:
    
        gcc -print-search-dirs
        /opt/rh/devtoolset-9/root/usr/lib/gcc/x86_64-redhat-linux/9
    
        In the next step, set the compiler variables accordingly (for example):
    
        export CC=/opt/rh/devtoolset-9/root/usr/bin/gcc
        export CXX=/opt/rh/devtoolset-9/root/usr/bin/g++
        export FC= /opt/rh/devtoolset-9/root/usr/bin/gfortran
    
        You will likely also need to update your LD_LIBRARY_PATH to include
        the path to the libraries needed by these compilers (for example):
    
        export LD_LIBRARY_PATH=/opt/rh/devtoolset-9/root/usr/lib
    
  • Using "sudo" or "screen":

    Since configuring HEASoft typically works best when setting environment variables to point to specific compilers, using sudo at the configure stage is not recommended since sudo spawns a new shell that does not automatically inherit current environment settings. The sudo command should not be needed for configuring in any case; it should only be necessary when running "make install", and only then if you are writing to a root-protected area (e.g. /usr/local or /Applications).

    Similarly, the screen command does not inherit all environment variables, so if you spawn a screen session before running the configure script, be sure to check or set environment variables after starting the screen utility.
  • "Developer cannot be verified" or "unidentified developer" error on Macs:

    Some Mac users have reported problems configuring and/or running pre-compiled HEASoft binaries. To free HEASoft binaries from the Apple quarantine, use the xattr utility, e.g.:
    $ cd heasoft-6.31.1/x86_64-apple-darwin20.6.0
    $ xattr -r -d com.apple.quarantine BUILD_DIR/configure lib/* bin/*
    
  • Fortran compiler requirements:

    HEASoft now includes a new dependency on the FGSL library which requires a Fortran 2008 feature (c_loc for targeted arrays); therefore GNU Fortran compilers older than version ~5.x are unsupported.
  • Perl symbol lookup error, "undefined symbol: Perl_Gthr_key_ptr":

    If running a HEASoft Perl script generates an error similar to the above, it may result from a Perl version incompatibility (common when using the pre-compiled binaries), but it may also occur if you have the VERSIONER_PERL_PREFER_32_BIT environment variable set to "yes". If "echo VERSIONER_PERL_PREFER_32_BIT" returns "yes", then unset it:

       unset VERSIONER_PERL_PREFER_32_BIT
    
    or, in C-shell:
    
       unsetenv VERSIONER_PERL_PREFER_32_BIT
    
  • 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 (mentioning "can't find package xml", "can't find package uri 1.1", or "package require base64""). 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 ${DS9_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
    
    


  • "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.31.1/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-SAS:

      The XMM-SAS setup typically adjusts your LD_LIBRARY_PATH environment variable (or DYLD_LIBRARY_PATH on macOS) to include the SAS library folders, one of which includes a copy of the C++ compiler library (libstdc++). This can cause problems building HEASoft, so we recommend that HEASoft be built in a session in which the SAS has not been initialized, or at least one in which your [DY]LD_LIBRARY_PATH is either empty or otherwise does not include the installed SAS directories.

      Similarly, after both SAS and HEASoft are installed, if they are initialized in the same session (terminal), C++-based tasks such as XSPEC may suffer runtime problems if the XMM-SAS library directories precede the one needed by XSPEC in [DY]LD_LIBRARY_PATH (as is the case if the SAS is initialized after HEASoft. As an example, if you compiled HEASoft on a Mac using the Homebrew compilers, XSPEC will need to have the Homebrew library path ahead of the SAS library directories in your DYLD_LIBRARY_PATH:
           For example:
      
           C-shell:
      
               setenv DYLD_LIBRARY_PATH "/usr/local/opt/gcc/lib/gcc/10:${DYLD_LIBRARY_PATH}
      
           Bourne shell:
      
               export DYLD_LIBRARY_PATH="/usr/local/opt/gcc/lib/gcc/10:${DYLD_LIBRARY_PATH}
        
      Additionally, when both the SAS & HEASoft are used in the same session and the SAS was initialized after HEASoft, 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.
HEASoft / FTOOLS Help Desk

If FTOOLS has been useful in your research, please reference this site (https://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


HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public

Last modified: Thursday, 03-Oct-2024 10:47:15 EDT

HEASARC Staff Scientist Position - Applications are now being accepted for a Staff Scientist with significant experience and interest in the technical aspects of astrophysics research, to work in the High Energy Astrophysics Science Archive Research Center (HEASARC) at NASA Goddard Space Flight Center (GSFC) in Greenbelt, MD. Refer to the AAS Job register for full details.