[an error occurred while processing this directive]
If you are using HEASoft v6.32.1 and don't want to upgrade to v6.33[.x] just yet, see the HEASoft 6.32.1 Issues List.
The third-party linemode browser package lynx needs an update in order to configure correctly on the Fedora 40 OS (currently it issues the error "No curses header-files found"). For now, we recommend that users configure without it using this option:
./configure --without-lynxfhelp is the only task that (optionally) utilizes lynx, and this can be bypassed with the following command, after HEASoft has been installed and initialized:
pset fhelp text=no online=yes
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.
Compilation of Xspec may fail under older macOS with the error:
'timespec_get' was not declared in this scopeUsers should be able to get past this by editing lines 47-51 of
heasoft-6.33.2/Xspec/src/XSutil/Utils/TimeUtility.cxxto change this code block:
# if defined(__APPLE__) timespec_get(&tnow, TIME_UTC); #else clock_gettime(CLOCK_REALTIME, &tnow); #endifTo just this:
clock_gettime(CLOCK_REALTIME, &tnow);
The IXPE task ixpechrgcorr has been updated in HEASoft 6.33.1 to fix a logger issue and the import and use of the "quzcif" task. Users of 6.33 who wish to fix this issue without installing 6.33.1 may download this file, and copy it into this folder:
$HEADAS/lib/python/heasoftpy/ixpe/.(Overwriting the previous ixpechrgcorr_lib.py)
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.33.1/heacore/heasoftpy/buildTo update pip to a newer version (e.g., 24.0):
sudo pip install --upgrade pip
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.
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).
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.
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.
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
$ cd heasoft-6.31.1/x86_64-apple-darwin20.6.0 $ xattr -r -d com.apple.quarantine BUILD_DIR/configure lib/* bin/*
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
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_xcodeand 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
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/gfortranFailure to do so may result in a corrupted compiler installation, leading to the "suffix or operands invalid for 'movq'" error.
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
$ cd heasoft-6.31.1/BUILD_DIR $ make distcleanWhen that finishes, restart the build procedure beginning with "./configure", then "make", and let us know if this does not resolve the problem.
export XPA_METHOD=local # Bourne shell (bash/sh) or setenv XPA_METHOD local # C-shell (csh/tcsh)
wenv myFile1.qdp whead myFile2.qdp wdata myFile3.qdp
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: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.dator by simply re-initializing HEASoft:
C-shell: source $HEADAS/headas-init.csh Bourne shell: . $HEADAS/headas-init.shThis 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.