[an error occurred while processing this directive]
If you are using HEASoft v6.30 and don't want to upgrade to v6.30.1 just yet, see the HEASoft 6.30 Issues List.
Users who have updated their Apple XCode to the very latest version (14.0) and are using the recommended third-party compilers (e.g., Homebrew or MacPorts) may run into build problems in the CCFITS library ["Assertion failed: (_file->_atomsArrayCount == computedAtomCount && "more atoms allocated than expected")]. This appears to be a problem in the XCode Command Line Tools (CLT) that will be fixed in a future XCode update. Downgrading to XCode 13.4 should fix the problem in the meantime.
If the direct link to the XCode CLT 13.4 disk image in the link above
does not work for you,
try this page instead (requires an Apple account).
Update:
The latest XCode 14.1 RC released by Apple appears to have fixed this problem.Imaging software for the Swift BAT instrument is generating incorrect numerical values when built on a Mac using GCC 12 from e.g. Homebrew or MacPorts. We are investigating, but until further notice recommend that users avoid GCC 12 and use for example GCC 11 or GCC 10 instead.
The extractor task may have issues creating new event files from HALOSAT data. To update your source code installation with a fix, download this patch for extractor and then rebuild & reinstall extractor, for example:
First, unpack the tar file above your existing heasoft-6.30.1 source code folder. Next, initialize heasoft and then: $ cd heasoft-6.30.1/ftools/heasarc/tasks/extractor $ hmake clean $ hmake $ hmake install
The XTE task pcabackest has been updated to fix the "modelfile=CALDB" option. Previously use of this option was estimating the background to be only a tiny fraction of the true background. To update your source code installation with a fix, download the new version of pcabackest.c and then rebuild & reinstall pcabackest, for example:
First, move the new pcabackest.c into the tool location: $ mv ~/Downloads/pcabackest.c heasoft-6.30.1/ftools/xte/tasks/pcabackest/. Initialize heasoft, then: $ cd heasoft-6.30.1/ftools/xte/tasks/pcabackest/ $ hmake clean $ hmake $ hmake install
Some IXPE Python code was not updated in the 6.30.1 patch release as intended. The 6.30.1 patch file (used to update existing 6.30 installations) and the 6.30.1 downloads are all corrected now (13-Apr-2022 15:45 EDT), but if you patched your 6.30 release or downloaded 6.30.1 prior to April 13 and plan to use the IXPE software, please update your installation in the following way:
$ rm heasoft-6.30.1_src_patch.tar.gz $ sh hdpatch_6.30.1
$ cd $HEADAS $ tar zxf ~/Downloads/heasoftpy_ixpe_6.30.1.tar.gz
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.30/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.27.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.