HEAsoft v6.26.1 - Known Issues
If you are using HEASOFT v6.25 and don't want to upgrade to v6.26.1 just yet,
see the HEASOFT 6.25 Issues List.
Several packages track issues separately from this page:
The following is a list of known issues in v6.26 of HEAsoft not covered
by the above pages.
Last modified Monday, 07-Dec-2020 11:31:25 EST
- pcabackest (RXTE):
In HEASOFT 6.26 & 6.26.1, the RXTE task pcabackest version 3.12
suffers a preprocessor macro expansion error that may result in errors of
this nature:
FITSIO status = 241: row width not = field widths
NAXIS1 = 30728 is not equal to the sum of column widths: 15488
pcabackest : Error - row width not = field widths
A fix is available (pcabackest v3.12a) and you may update your existing
HEASoft 6.26[.1] source code distribution in the following way:
1) Download this file (pcabackest.c)
and copy it into this directory:
heasoft-6.26[.1]/ftools/xte/src/pcabackest
2) Initialize HEASoft, then rebuild and re-install pcabackest:
$ cd heasoft-6.26[.1]/ftools/xte/src/pcabackest
$ hmake clean
$ hmake all
$ hmake install
- PyXspec & third-party compilers on macOS:
When compiled using all third-party compilers (e.g. MacPorts gcc-mp-x, g++-mp-x &
gfortran-mp-x or HomeBrew gcc-x, g++-x, gfortran-v), PyXspec may experience runtime
errors such as termination of the python session (due to uncaught exceptions) or
inaccessibility of e.g. parameter limit settings or error command results. This
issue has been resolved by a patch already applied to the source code downloads,
but if you acquired your source code prior to 2019 December 5 and don't want to
download the source code again, please apply
this patch and rebuild heasoft.
- Apple Xcode 11.x:
Users who have updated their Xcode to 11.x may see errors when configuring
HEASoft ("failed to link program... WARNING: Configure failed in the AST package!"
which refers to the specific error "ld: library not found for -lSystem"
as seen in the heacore/ast/config.log) with a compiler setup that includes
the Xcode clang/clang++ (gcc/g++) plus a MacPorts Fortran compiler. Two
possible workarounds are available:
1) For e.g. OS 10.14 (Mojave), follow a recommendation from the MacPorts bug tracker
and create a symbolic link for the MacOS10.14.sdk, then continue using MacPorts as needed:
% cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
% sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk
2) Use only the HomeBrew compilers (which do not appear to suffer from this issue), e.g.
% setenv CC /usr/local/bin/gcc-9 % export CC=/usr/local/bin/gcc-9
% setenv CXX /usr/local/bin/g++-9 % export CXX=/usr/local/bin/g++-9
% setenv FC /usr/local/bin/gfortran-9 % export FC=/usr/local/bin/gfortran-9
Another issue resulting from Xcode 11.x occurs when building Xspec:
DataFactory/OGIP-92aIO.cxx:1283:11: error: calling a private constructor of class 'std::__1::unique_ptr<CCfits::FITS, std::__1::default_delete<CCfits::FITS> >'
return apFits;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2536:3: note: declared private here
unique_ptr(unique_ptr&);
^
This issue has been resolved by a patch already applied to the source code downloads, but if you acquired your source code prior to 2019 October 24, please apply this patch, re-run the configure script in heasoft-6.26.1/BUILD_DIR, and then restart your build.
- ftrbnrmf (rbnrmf) & ftrbnpha (rbnpha):
In HEASOFT 6.26 & 6.26.1, the ftrbnrmf & ftrbnpha tasks
(to which rbnrmf & rbnpha are now wrappers, respectively)
suffer a bug which prevents processing of a negative binning factor (ebfact) -
i.e. when you wish to omit channels - resulting in an "InconsistentGrouping" error
message. A fix is available, and you may update your existing HEASoft 6.26[.1] source
code distribution in the following way:
1) Download this file (grouping.cxx)
and copy it into this directory:
heasoft-6.26[.1]/heacore/heasp/
2) Initialize HEASoft, then rebuild and re-install libhdsp:
$ cd heasoft-6.26[.1]/heacore/heasp
$ hmake clean
$ hmake all
$ hmake install
Please note:
When omitting channels at the end of the table you may need to adjust
the DETCHANS keyword in the output file (using for example
'fthedit file.rmf keyword=DETCHANS operation=add value=##')
in order for it to register as containing the correct number of channels in e.g. Xspec.
- rbnrmf with binfile: (Patch included in HEASOFT 6.26.1)
In HEASOFT 6.26, the old rbnrmf task is now a wrapper to the newer
task ftrbnrmf. The wrapper version (1.0) originally included in 6.26
contains a bug which prevents it from rebinning the response when a binfile
is used (as for example in the XTE task pcarsp). For older 6.26
installations, please migrate your applications to use ftrbnrmf
instead, or if needed,
download the fixed version of rbnrmf (version 1.1),
copy it into your $HEADAS/bin directory, and run the lhea-fixperl
script on it to make it ready for use:
$ cp rbnrmf $HEADAS/bin
$ lhea-fixperl $HEADAS/bin/rbnrmf
- pcarsp (RXTE):
The RXTE script pcarsp invokes rbnrmf with the deprecated fchan
parameter (see above), and will therefore exit with the error "fchan=0 is no
longer allowed; Please see the help file for rbnrmf". If needed, please
download an updated version of pcarsp,
copy it into your $HEADAS/bin directory, and run the lhea-fixperl
script on it to make it ready for use:
$ cp pcarsp $HEADAS/bin
$ lhea-fixperl $HEADAS/bin/pcarsp
- XRONOS on newer Debian systems (e.g. Ubuntu 18.10 & newer):
Some of the older, Fortran-based XRONOS tasks (including autocor, crosscor,
efold, efsearch, lcstats, lcurve, listdata, powspec, and timeskew) suffer
memory faults when built on newer Debian Linux systems (e.g. Ubuntu OS 18.10
and 19.04). This issue will be resolved in a future HEASoft release or patch.
- XIMAGE and gfortran 8.x (or newer) on macOS:
When built with the Apple XCode C compiler paired with gfortran version
8.x or 9.x, ximage may generate
"Invalid header key" messages and a Tcl error
"Failed to run tcl: pgtk::upcopy MAP1 MAP9". Subsequent attempts
to display the image may then result in a segmentation fault. Note that
this problem will affect tasks that use ximage such as xrtpipeline
or nupipeline. Our current
suggestion is to use one of the other Fortran compilers recommended in
our Mac installation guide. Note for example
that SourceForge provides gfortran v7.3 for High Sierra,
and the problem with ximage is not present when HEASOFT is built using it.
An additional alternative is to use all of the GCC 8.x or 9.x compiler
suite (i.e. not just gfortran) and build HEASOFT using the complete set
of 8.x compilers, for example, if using MacPorts:
% setenv CC /opt/local/bin/gcc-mp-8 % export CC=/opt/local/bin/gcc-mp-8
% setenv CXX /opt/local/bin/g++-mp-8 % export CXX=/opt/local/bin/g++-mp-8
% setenv FC /opt/local/bin/gfortran-mp-8 % export FC=/opt/local/bin/gfortran-mp-8
Or, if using GCC 8.x from HPC/SourceForge:
% setenv CC /usr/local/bin/gcc % export CC=/usr/local/bin/gcc
% setenv CXX /usr/local/bin/g++ % export CXX=/usr/local/bin/g++
% setenv FC /usr/local/bin/gfortran % export FC=/usr/local/bin/gfortran
This combination should result in a working ximage.
- 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
- Mac "configure failed..." Fortran compiler issue:
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"
- 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.
- Cygwin build error "execvp: ./makeuctb.exe: Permission denied":
When building HEASOFT while anti-virus software is running in the background,
users may receive the error above from 'make' while in the lynx package.
The solution is to disable any anti-virus software for the duration of the
HEASOFT build. It may be re-enabled once the build is done (i.e. after
running 'make' but before running 'make install').
- Ubuntu ds9 & HEASoft:
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 ${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.26/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:
If you have any questions about the information above, please write to
us at the FTOOLS help desk.
FTOOLS HELP DESK
If FTOOLS has been useful in your research, please reference this
site (http://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
|