Mosaic of M31 from 107 8K x 8K images, built on 64-bit Mac. Final size: 13K x 15K Data Credit: P. Massey
The Alpha release of the NOAO/IRAF V2.15 system featuring 64-bit platform
support is now available. This release covers both 32-bit and 64-bit
Linux and Mac OSX systems (Intel and PPC) and includes modified sources
for some 30 external packages. This system is recommended only for experienced users and those willing to use a potentially
unstable system download at this time. Several features (such as the
simplified install procedure) and more complete documentation are in
preparation and will be introduced in later releases.
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:
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.
===============================================================================
*****************************************
**** 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.
The following comments are owned by whomever posted them. This site is not responsible for what they say.
IRAF V2.15 Alpha Release Now Available
Authored by:
marcololli on
Thursday, May 06 2010 @ 01:31 AM MDT
Yesterday I tried to install iraf v 2.15 alpha on linux with fedora 11 and on MAC
with 10.6.3, in both situation I got error during install script run.
First of all an error relating the lack of noao binaries, i.e. x_rv.e , i touch a
file with this name and after rerun the script i got another error with a foreach
sintax after near the end.
I tried also to compile from source but I got an error dealing the lack of
mkpkg.e binaries.
I am surprise of these behaviour, probably I made some mistakes in
installing phase.
with 10.6.3, in both situation I got error during install script run.
First of all an error relating the lack of noao binaries, i.e. x_rv.e , i touch a
file with this name and after rerun the script i got another error with a foreach
sintax after near the end.
I tried also to compile from source but I got an error dealing the lack of
mkpkg.e binaries.
I am surprise of these behaviour, probably I made some mistakes in
installing phase.
Marco Lolli