Welcome to iraf.net Sunday, April 23 2017 @ 12:00 PM GMT
IRAF V2.15 Alpha Release Now Available
- Tuesday, March 02 2010 @ 09:39 PM GMT
- Contributed by: fitz
- Views: 2,760
|Mosaic of M31 from |
107 8K x 8K images,
built on 64-bit Mac.
Final size: 13K x 15K
Data Credit: P. Massey
As an Alpha release, we expect bugs will be found and we are relying on users to provide testing and feedback, especially for the science tasks and external package code. Some detailed release notes are available in the release README file and are included below, these will also be expanded in the future.
Note this release is currently being bundled with "dual binaries", i.e. both 32 and 64-bit binaries are included in a single distribution to allow easier installation for testing and comparison on a given platform. The Alpha-release distribution directory is http://iraf.net/ftp/iraf/v215-ALPHA and will be updated as needed (final releases will be posted to the iraf.noao.edu project site). Links to individual distribution files:
- iraf_v215-src.tar.gz -- Source-only distribution
- iraf_v215-osx.tar.gz -- Mac OSX distribution (OSX 10.4-10.6, Intel and ppc, 32- and 64-bit)
- iraf_v215-linux.tar.gz -- Linux distribution (all distros, 32- and 64-bit)
- extern/ -- v2.15 compatible External Packages
- v215revs.txt -- v2.15 Revisions notes
- PORT.GUIDE -- SPP applications 64-bit port guide
Please report any problems you may find to the forums or in an email. Problem reports should include the platform and any information necessary to reproduce the error.
Update March 24, 2010: Bugfix update of distribution. Installing this fix is recommended for all users.
Update May 6, 2010: Minor bugfix update release.
Update May 23, 2010: First draft of 64-bit Port Guide available.
Update September 19, 2010: Final snapshot release before building release candidate. Fixes various issues with TABLES package and other minor bugs in compiling code. Full update recommended.
=============================================================================== ***************************************** **** IRAF Version 2.15-ALPHA Release **** ***************************************** ** Mar 2, 2010 - V2.15-ALPHA for PCIX (Source/OSX/Linux) ** Mar 24, 2010 - Bugfix updates of distribution ================================================================================ This directory and its subdirectories contains the network version of the full IRAF V2.15-ALPHA distribution. README This file PORT.GUIDE 64-bit Software Porting Guide COPYRIGHTS Copyright information for this software bugs.log System buglog (known bugs) to date help.log System helplog (user tips) to date sysnotes.v215 V2.15 system revisons notes v215revs.txt V2.15 revisions summary, text version iraf_v215-src.tar.gz Source-only distribution iraf_v215-osx.tar.gz Mac OSX Full distribution (macosx/macintel arch) iraf_v215-linux.tar.gz Linux Full distribution (linux/linux64 arch) extern/ Subdirectory containing compatible extern packages See below for information on what it is contained (and what isn't), how to upgrade/install this release, who should install it, and what to look for in terms of potential problems. Questions or problem should be directed to the forums at http://iraf.net When posting problems, please be sure to include the platform and any information (e.g. parameters or data files) necessary to reproduce the problem. Contents: --------- 1) What is the IRAF V2.15-ALPHA Release - What it contains, and what is still missing - What has been tested, and what hasn't - Mac OSX Binary Changes - Deprecation of 'redhat' architecture - Dual-Binary Distributions 2) Who Should Install 3) How to Install This Release - I am installing for the First Time: - I am replacing an existing IRAF installation: - I am installing multiple IRAF versions: - I want to build the IRAF system from source: 4) Upgrading External Packages - Mixed 64-bit IRAF and 32-bit External Packages 5) Known Problems ================================================================================ 1) What is the IRAF V2.15-ALPHA Release ----------------------------------------- V2.15-ALPHA is an Alpha release of the IRAF V2.15 system. As such, this release is made with known problems in the system (detailed below) and with the expectation that other problems will be uncovered. It also means this release does NOT contain the final feature set or documentation we plan for the V2.15 release, these will be incorporated in updates to follow. A future Beta release will be closer to what we expect the final V2.15 system to include and will provide an opportunity to test those features. This release is intended to allow real-world user testing of the system, specifically to exercise the science code that could not be extensively tested during the upgrade and port process. It also provides an opportunity for developers to begin upgrading external package code to work with 64-bit platforms. What it contains, and What is still missing ------------------------------------------- V2.15-ALPHA is a cumulative patch of all applications since the last release as well as a port of IRAF to 64-bit platforms. In short, this release contains o IRAF V2.15 for the following architectures: linux All 32-bit linux systems linux64 64-bit linux systems macintel 64-bit Mac OSX (10.6) systems macosx 32-bit Mac OSX (10.4+) i386 and ppc systems o Updated source code for ~30 external packages. These packages should build cleanly on all v2.15 platforms and have had at least a minimal check/modification of code for 64-bit compatibility. There are also a number of new features that have changed the system significantly enough to warrant a major release. Specifically, o A port to 64-bit OSX and Linux systems o A single linux architecture for 32-bit systems o Universal (i386 and ppc) binaries for OSX 32-bit systems o A simplified IRAF build procedure o TABLES package now distributed w/ core system o Compile-time prototype checking of code to reduce errors. o A new MEMIO interface to detect pointer over/underflows, provide memory garbage collection & usage reporting, and more. o SVG graphics device for better web-presentation of plots. o Numerous bug fixes and enhancements. The one major feature missing from the planned V2.15 system with this release is a simplified install method. While the distribution file is now is now a single download that includes both source and binaries in a single directory tree, our plan is to further simplify the process to allow both a system-wide installation as well as a personal installation that does not require root permission to install. We also plan to have a network install script to download and unpack needed files (both the IRAF base system and external packages). A guide to porting applications to 64-bits is in preparations, detailed revisions and release notes wil be available within a few days. What has been tested, and what hasn't ------------------------------------- The primary work on v2.15 was the port to 64-bit platforms. The approach taken required changes to data structure definitions (see details in the Port Guide) in core system interfaces, a new memory management interface and application-specific changes where external formats are used (e.g. binary file formats requiring 32-bit integers). These changes were tested individually, however it isn't always possible to test every application that uses a particular interface. As a normal part of the port process, the "images" test scripts we maintain were run on each platform. These script exercise key image applications and interfaces (e.g. IMCOMBINE or image interpolation) and we're confident the current release does not change the results. Specifically, o Test results run on v2.15 and v2.14 systems show identical values on 32-bit systems. o Tests run on v2.15 64-bit systems are either the same or within floating-point precision as compared to 32-bit systems. o Comparison of 32-bit and 64-bit results between Linux and Mac OSX systems are within expected floating-point precision differences. o Image (and binary table) data created on 32-bit machines can be read on 64-bit machines and vice versa. o Spot checking of applications revealed a few problems which have been fixed. What we have NOT been able to test as extensively are the science applications and 3rd-party external packages, we are relying on the user community and a long test period to reveal problems with these applications. To help in testing, the ALPHA distributions are built to contain both 64-bit and 32-bit binaries to allow testing and comparison of both platforms on a single (64-bit) machine. Because of data structure changes and the new memory interface, we expect that long-standing problems in applications will show up as new bugs, i.e. a bug that caused no apparent damage on 32-bit machines will crash as a 64-bit task. Similarly, we hope users will be able to verify that results from 64-bit applications match those from earlier IRAF versions or from equivalent 32-bit tasks. When reporting a bug or problem, please be sure to indicate the platform used and supply whatever information (parameters or data) is necessary to reproduce the problem. Mac OSX Binary Changes ---------------------- In previous IRAF releases, the Mac architectures were defined as macintel OSX (Intel) binaries (32-bit) macosx OSX (PPC) binaries (32-bit) With this release we were faced with the prospect of a new Mac architecture for 64-bit Intel or some other form of reorganization. Rough statistics indicated that users are spread about evenly between the 32-bit ppc and intel systems and new 64-bit Snow Leopard systems. However, since all new machines will be 64-bit capable and come with OSX 10.6 (or above), we opted to combine the 'macosx' architecture into a single i386/ppc Universal 32-bit binary and use the existing 'macintel' architecture for 64-bit Intel binaries. Therefore the new architecture definitions are: macintel OSX (Intel) binaries (64-bit) macosx OSX (Intel/PPC) Universal binaries (32-bit) This change primarily affects Mac Intel users still running 10.5 (or earlier) or 10.6 users on older hardware not capable of running 64-bit binaries. These users were previously required to use the 'macintel' architecture but will now be required to use 'macosx'. This change is done automatically in the 'cl' login command, but is something to keep in mind for users who explicity set an IRAFARCH environment variable. Deprecation of 'redhat' architecture ------------------------------------ Another architecture change in V2.15 is the introduction of a single 'linux' architecture or all 32-bit systems. Earlier releases saw the removal of the 'suse' architecture as being redundant, however it could be problematic to similarly remove the 'redhat' architecture due to the number of external packages that still use it. With this release what we've done in the base release is to simply make the 'bin.redhat' directories into symlinks to the 'bin.linux' directory. Similarly, in the modified external package source the links have been made. The preferred usage however is simply to remove references to 'redhat' and use 'linux' instead (e.g. in personal settings for IRAFARCH or when building external packages). Dual-Binary Distributions (ALPHA only) -------------------------------------- For this release we are providing a source-only tarball of the system as well as tarballs containing both source and platform-specific binaries. The 'linux' distribution contains both the 'linux64' (64-bit) and 'linux' (32-bit) architectures; similarly the 'osx' distribution contains the 'macintel' (64-bit) and 'macosx' architectures. Having a limited number of distribution files simplifies the frequent updates expected during a test release phase, but having both 32 and 64-bit binaries in a single distribution also allows for easy installation of a system that can be used to directly test results from either platform. To accomplish this last feat, a user can define an IRAFARCH environment variable to specifically run one or the other binary on a suitable machine. For example, on a 64-bit Linux system you might: % setenv IRAFARCH linux % cl # run 32-bit binaries ....run some science applications % setenv IRAFARCH linux64 % cl # run 64-bit binaries ....run the same science applications ....compare results The same example holds for running macintel/macosx binaries. A related feature of the IRAFARCH setting is the ability to cross-compile 32-bit binaries on 64-bit systems. For example, simply setting IRAFARCH to 'macosx' on an OSX 10.6 (Snow Leopard) 64-bit system will produce Universal 32-bit binaries. Similar cross-compilation is intended for Linux systems but isn't yet working as of this writing. 2) Who Should Install ---------------------- As an ALPHA release, this system is targeted towards o experienced users willing to test the new 64-bit features o science users wishing to test applications and results are not harmed by the changes made o developers who need to modify external packages or locally written software for 64-bit compatibility The installation, 64-bit port and build documentation is known to be sparse at the moment, this will be added in coming weeks. The distribution itself is a single tarball of the iraf root directory, if you do not know what to do with such a file you should probably wait for a later release. 3) How to Install This Release ------------------------------- To install this release, you should download the binary distribution file appropriate for your machine (either linux or osx) and then identify yourself as one of the following users and follow the steps described: - I am installing for the First Time: 1) Create an 'iraf' directory (preferrably /iraf/iraf) and unpack the distro file there 2) Define $iraf in your environment 3) Run the $iraf/unix/hlib/install script to install the system - I am replacing an existing IRAF installation: 1) Save any local configuration file (graphcap, extern.pkg, etc) of the existing IRAF installation to a separate directory 2) Delete the existing IRAF tree 3) Unpack the distribution in the existing iraf root directory 4) Replace/merge local configuration files - I am installing multiple IRAF versions: 1) Create a new 'iraf' root directory and unpack the distro file 2) Define $iraf in your environment to be the full path to the IRAF system you wish to be the system-wide default. If this is the existing iraf installation you can skip this step, to make the v215-ALPHA the default you'll redefine $iraf and run the install script. 3) Set $iraf and $IRAFARCH in your environment as appropriate before running the 'cl' command or compiling software. - I want to build the IRAF system from source: 1) Download the iraf_v215-src.tar.gz source-only distribution 2) Create a new iraf root directory and unpack the distro 3) Define $iraf in your environment 4) Run the $iraf/unix/hlib/install script to install the system 5) Configure the directory tree for the proper architecture and compile, e.g. on a 64-bit linux system: % cd /iraf/iraf % setenv iraf /iraf/iraf/ % setenv IRAFARCH linux64 % make linux64 % make sysgen In future versions this process will be made more robust and automatic, the above steps should compile the core system, NOAO and TABLES packages. We recommend if possible that a dedicated machine be used for testing to avoid possible confusion with a dual-version system. Note that while environment variables can typically be used to control which version of IRAF is started, these same environment variables when defined in startup files such as .login or .cshrc can cause confusion when building software. 4) Upgrading External Packages ------------------------------- The v215-ALPHA release contains source code tarballs for some 30 external packages that have had preliminary checks/modifications for 64-bit compatibility. These releases should be considered preliminary updates until the responsible authors have had an opportunity to examine and approve the changes. One major package currently missing is STSDAS due to its size, other major packages such as MSCRED need to be examined by their authors and re-released officially. The distribution directory will be updated as needed with binaries and new versions of source trees during the test period. Mixed 64-bit IRAF and 32-bit External Packages ---------------------------------------------- On 64-bit systems it is possible to still use 32-bit external package binaries (e.g. for packages that haven't been updated yet), however care must be taken to match the architecture names. For example, on Linux systems the arch name is 'linux64' and this will be used to find binaries in external packages as well. For packages such as STSDAS where no 'bin.linux64' binaries are available, you can simply use the 32-bit binaries by making a 'bin.linux64' symlink that points to the 'bin.linux' directory. 6) Known Problems ------------------ Since this is an Alpha release, the system is not yet feature-complete. Similarly, during development several problems were identified that were tabled for a later fix since they aren't expected to impact many users initially. These include: o A transient IMCOMBINE crash: possible memory error that seems to happen when imcombine is used for a lengthy period during scripts. o The XREGISTER task on 64-bit linux has a transient crash. o "Fast" I/O mode is imio is temporarily disabled due to an undiagnosed problem that affects image file size. o Double-precisions FITS (i.e. BITPIX = -64) cannot be read o GKI metacode files not yet verified to be interchangeable between 32 and 64-bit systems o MIP files (e.g. helpdb files) not verified to be interchangeable between 32 and 64-bit systems o The new SVG graphics driver requires graphcap entries/testing o FITS I/O in the TABLES package not yet tested o Cross-compilation of 32-bit linux from 64-bit system produces binaries that segfault (compat lib issues?) 7) Modification History ------------------------ 3/24/2010 Three critical bug fixes: 1) Leftover port code was causing a segfault on linux64 for tasks using the NLFIT library. This affects e.g. IMEXAM and the DIGIPHOT tasks. 2) A stdio file buffer problem was fixed that was causing problems for any task that uses redirection or "scan from pipe". 3) Use of SURFACE in tasks like IMEXAM fixes a segault.