Pre-Compiled Perl Libraries In HEASoft
HEASoft contains several Perl Libraries which provide Perl interfaces to
core libraries such as PIL and CFITSIO. These interfaces are currently
used by a number of tools, primarily in mission packages such as Swift,
Suzaku, and NuSTAR. Portability of the pre-compiled binaries
depends heavily on the version of Perl used to generate the binaries, and in
many cases users may find that there is a mismatch between their version of
Perl and the one we used.
We have received reports of this "mismatch" occurring even when
the same version of Perl is ostensibly being used by both HEASARC and the
user, which underscores just how non-portable these pre-compiled Perl
libraries are. We originally only expected this with major version
differences, but it turns out to happen at minor version differences and
even (as in these cases) at apparently invisible levels. As a result, we
encourage users to download the source code distribution instead.
Symptoms of this mismatch typically include runtime errors such as
"undefined symbol: Perl_Gthr_key_ptr",
"undefined symbol: PL_sv_undef" or "undefined symbol: PL_markstack_ptr"
(if your version of Perl is newer than the one we used) or
"error getting <parameter> parameter"
(if your version of Perl is older than the one we used). If you are unsure
whether this problem affects your installation, try running the
In general, we recommend building HEASoft from the source code distribution
in order to avoid this problem, but if building from source is not an option
(for example, if we do not support source builds on your particular flavor
of Linux), we recommend that you
install a version of Perl
which matches the version we used. To aid in this process, the
following table describes the Perl versions used in generating the current
HEASoft pre-compiled binary distributions.
||Perl Version Used In Generating Binaries
|PC - Ubuntu Linux 20.04
|PC - CentOS Linux 8.4
|PC - Fedora Linux 33
|PC - Scientific Linux 7.7
|Mac Intel - OS X 11.3.x / Darwin 20.x
|Mac Intel - OS X 10.15.x / Darwin 19.x
|Mac Intel - OS X 10.14.x / Darwin 18.x
Note that after installing a new version of Perl, you will need to
redefine the LHEAPERL environment variable used by HEASoft in
order for the pre-compiled binaries to work. The easiest way to do this
is by editing the headas-setup script to use your new Perl. That file
and you will need to change value of the LHEAPERL variable on line 65.
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
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
HEASARC Home |
Last modified: Tuesday, 07-Sep-2021 10:23:49 EDT