[an error occurred while processing this directive]
If you are using HEASoft v6.31 and don't want to upgrade to v6.31.1 just yet, see the HEASoft 6.31 Issues List.
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.
There are a couple of errors in extractor (and hence xselect)
for IXPE data. Firstly, the dead time correction is ignored when creating
spectra leading to a few percent error in normalizations and fluxes.
Secondly, the stokes=UNWEIGHTED and stokes=SIMPLE options
produce STAT_ERR which are about sqrt(2) too small, giving
anomalously large values of the statistic when fitting. Those for
stokes=NEFF are correct.
A patch has been applied to the current source code & binary downloads
(as of 2023 Jan. 31). To patch an existing source code installation
(see below for updates to pre-compiled binaries), download
the new version of extractor (v6.10),
then rebuild it and reinstall, for example:
Unpack the patch tar file under your existing heasoft-6.31 (or heasoft-6.31.1) folder: % cd heasoft-6.31/ % tar zxf ~/Downloads/heasoft-6.31.x_extractor6.10_src.tar.gz Initialize heasoft, then: % cd heasoft-6.31/ftools/heasarc/tasks/extractor % hmake clean % hmake all % hmake installTo update pre-compiled binary distributions, download the relevant patch file from this list, and unpack it under your existing heasoft-6.31 (or heasoft-6.31.1) folder:
The HEASIM background-estimating tool skyback is broken for RA values less than 1, and generates incorrect nh values for other sky positions. A fixed version of the source code is available for download here. To rebuild skyback, download that file and then:
Copy the new "doWork.c" into this folder: heasoft-6.31.1/heasim/skyback/ Next, initialize heasoft and then: % cd heasoft-6.31/heasim/skyback/ % hmake clean % hmake all % hmake install
The NICER task nigeodown attempts to use the Perl module LWP::Simple, though it doesn't actually need it. If this module is not available with your Perl installation and nigeodown complains as a result, you may simply remove the relevant "use" command (line 41) in $HEADAS/bin/nigeodown:
use LWP::Simple qw(getstore is_success $ua);
The HEASoft configure script may fail with "C compiler cannot create
executables", and one of the config.logs may show
ld: library not found for -lSystem
This error typically implies that your compiler suite (e.g. Homebrew
or MacPorts) is out-of-synch with the Apple (XCode) Command Line
Tools (CLT), for example if you updated the CLT but did not reinstall
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.
Another common problem in the configure stage is the following:
ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libSystem.tbd' for architecture x86_64
This can typically be resolved by putting /usr/bin at the
front of your PATH environment variable (as recommended in
our Mac installation guide).
$ 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
The configure script may generate an error ("Configure failed in the AST package!", or "configure failed for heacore component fftw!") 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"
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.