[an error occurred while processing this directive]
If you are using HEASOFT v6.22.1 and don't want to upgrade to v6.23 just yet, see the HEASOFT 6.22.1 Issues List.
Several HEASoft tasks (including extractor, ximage, et al.) suffer memory faults under newer Debian-based operating systems (including Ubuntu 16.10, 17.04, 17.10, and Debian 9).
Another HEASoft release that supports the default compilers these systems is forthcoming prior to the release of the 18.04 LTS operating system in April 2018. Until that time, users are advised to do one of the following:
- Delay updating beyond Ubuntu 16.04.x (or Debian 8.x) - Use the pre-compiled HEASoft binaries for Ubuntu (built in 16.04) or - Build HEASoft 6.23 using the compilers from the "gcc-4.8" package, i.e. prior to running configure, set up your environment as follows: $ sudo apt-get -y install gcc-4.8 $ setenv CC gcc-4.8 or $ export CC=gcc-4.8 $ setenv CXX g++-4.8 or $ export CXX=g++-4.8 $ setenv FC gfortran-4.8 or $ export FC=gfortran-4.8
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"
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 (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
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/pythonAs 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/gfortranWe stress that you avoid using /opt/local/bin/gcc-* and /opt/local/bin/g++-* when building HEASoft from the source code distribution.
$ cd heasoft-6.23/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: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.