An IRAF v2.15.1 Patch release is now available from the IRAF anonymous ftp archive at
This patch is an update of the IRAF v2.15 release for all 32- and 64-bit Linux and Mac OSX systems. It is being made available now to address the following specific issues:- Potential Data Corruption on 64-bit Systems
- Support for Double-Precision FITS images on 64-bit Systems
- Remove License Restrictions from the XYACC Compiler
- Backward-Compatability for NHEDIT tasks
Details of this patch and upgrade instructions may be found in the release announcement below.
Jan 25, 2011 An IRAF v2.15.1 Patch release is now available from the IRAF anonymous ftp archive at ftp://iraf.noao.edu/iraf/v215/PCIX/ This patch is an update of the IRAF v2.15 release for all 32- and 64-bit Linux and Mac OSX systems. It is being made available now to address the following specific issues: 1) Potential Data Corruption on 64-bit Systems Certain code constructs that do in-place type conversion of arrays have the potential to overwrite data within the array. This can happen either explicitly in the application or deep in the system interfaces, the simplest example of this problem can be demonstrated with the CHPIXTYPE task. Depending on the data type of an input image, the output pixels may be corrupted in some cases. 2) Support for Double-Precision FITS images on 64-bit System The IEEE NaN masking of FITS double-precision data was being done using only a 32-bit mask on 64-bit systems leading to all pixels being interpreted as zero values. Double-precision computation of data was affected, only the interpretation of pixels in FITS file where data are stored with BITPIX=-64. 3) Remove License Restrictions from the XYACC Compiler The XYACC HSI task used to convert grammars to SPP parsers (e.g. for expression evaluation) was based on an original source from AT&T and has been viewed by open-source projects as being too restrictive. The new implementation is based on a CDDL license generally regarded as 'free' and which produces functionally identical code. Grammars used in the core system have been recompiled with the new XYACC to remove any possible restrictions on the derived code, similar recomp- ilation will be required of external package code (and will be done for NOAO-maintained packages). See the $iraf/unix/boot/xyacc directory for the README and license file associated with this change. 4) Backward-Compatability for NHEDIT tasks The incorporation of the NHEDIT task in v2.14 required changes to a parameter behavior in order to bring it in line with standard IRAF usage. This change was incompatible with the original version available in the FITSUTIL package. Recent changes to NOAO-maintained packages moved the old NHEDIT task from FITSUTIL to the GMISC package to satisfy a dependency of an external package requiring both (and so no net loss of functionality) and to resolve conflicts by other packages where having the old version of the task presented new problems. This change supports the older parameter behavior in the core system NHEDIT task meaning that neither the FITSUTIL or GMISC versions of the are required under v2.15.1, and conflicts caused by having multiple versions of the task are eliminated. The NHEDIT task has already been removed from the FITSUTIL package, it will likewise be made obsolete in the GMISC package as being redundant some time in the near future. Additional enhancements and bug fixes are included as well and are detailed in the 'v2151revs.txt' file located in the ftp distribution directory. Who Should Upgrade: ------------------- All 64-bit users of Linux or OSX (i.e. the 'linux64' and 'macintel' architectures) are STRONGLY ENCOURAGED to upgrade their system in order to resolve issues 1) and 2) above. Although these problems were not discovered during the initial v2.15 testing period, the possibility that science results could be affected is considered serious. Sites concerned with licensing issues are likewise encouraged to install this patch to remove perceived conflicts with the XYACC task used to build some system (and external package) code. The new version of the task is built using code released under the 'CDDL' license, details of which can be found in the $iraf/unix/boot/xyacc/cddllicense.txt file. Note that IRAF redistribution is still covered by the NCAR copyrights detailed in the $iraf/local/COPYRIGHTS file. In the past the Debian and Fedora projects have rejected inclusion of IRAF because this license was deemed 'non-free', we are currently evaluating our options to remove these restrictions. How To Install the Patch: ------------------------- New IRAF installations following this announcement will automatically use the v2.15.1 release and no further action is required. Existing IRAF v2.15 systems need only to install the appropriate patch file for their system: patch1-src.tar.gz v2.15.1 patch source-only patch patch1-linux.tar.gz v2.15.1 patch to all 32/64-bit Linux systems patch1-macosx.tar.gz v2.15.1 patch to all 32/64-bit x86/PPC systems patch1.lnux.x86.gz v2.15.1 patch to 32-bit Linux systems patch1.lnux.x86_64.gz v2.15.1 patch to 64-bit Linux systems patch1.macx.uni.gz v2.15.1 patch to 32-bit OSX x86/PPC systems patch1.macx.x86_64.gz v2.15.1 patch to 64-bit OSX Intel systems In all cases the process for applying the patch is to simply download the appropriate file and unpack in the 'iraf root directory' as tar zxf /path/ Each patch file contains not only the source changes, but also the affected binaries for that platform. Local changes (e.g. to printer/graphics devices or external package definitions) are not affected. Upgrading External Package Binaries: ------------------------------------ The number of packages and platforms we support requires time in order to build the many distribution files required of a new release. Since this patch fixes problems in core system libraries, ALL external packages (at least on 64-bit systems) will require new binaries. Users have the option of relinking these packages locally once the patch is installed, or else wait a few days from the date of this announcement and do a % cd $iraf/extern % make update and new binaries will be installed automatically from the package repository. External packages that have not been upgraded to support 64-bit systems are not affected since the package repository will continue to install the 32-bit binaries runnable on all supported platforms. Those external packages which use grammars and require parsers to be generated by the 'free' XYACC should be compiled on 32-bit systems. New Platform Support: --------------------- The Cygwin, FreeBSD and Solaris x86 ports of v2.15 are completed and are now in testing. A release based on the v2.15.1 system will be made generally available as soon as the testing is complete.