Installation of the FITSUTIL external package -------------------------------------------------- Revision note: March 11, 2005 - nhedit. New task to edit a header of an image in a MEF file. Revision note: June 28, 2004 - fgread.c: Added #ifdefine (__linux) so that it compile under Redhat. Modified newfile() call: 'fh' needed to be "&fh". Revision note: April 20, 2004 - Changed fgread.c to compile on macos. The HSI_CF macro is included in the '!cc line...' within fitsutil/pkg/mkpkg file. Revision note: February 26, 2004 - Changes in fgread.c, fgwrite.c to allow portability. Fixed bugs related to symbolic links. end of revision note Revision note: January 26, 2004 - Changes in mef_rdhdr routines - Changes in fxheader task end of revision note Revision note: May 7, 2002 - Support for Macosx - comment out building for fgread, fgwrite end of revision note Revision note: September 24, 1999 - Added support for FOREIGN extensions. - 2 new task to create and read MEF archhives with FOREIGN FITS extensions. - Added new task 'fxfextract' to extract an extension from a MEF file. End of revision note. ================================================================================ INSTALLATION INSTRUCTIONS Installation of this external package consists of obtaining the files, creating a directory containing the package, compiling the executables or installing precompiled executables, and defining the environment to load and run the package. The package may be installed for a site or as a personal installation. If you need help with these installation instructions pr questions about the package please contact iraf@noao.edu or call the IRAF HOTLINE at 520-318-8160 [arch] In the following steps you will need to know the IRAF architecture identifier for your IRAF installation. This identifier is similar to the host operating system type. The identifiers are things like "ssun" for Solaris, "alpha" for Dec Alpha, and "linux" or "redhat" for most Linux systems. The IRAF architecture identifier is defined when you run IRAF. Start the CL and then type cl> show arch .ssun This is the value you need to know is without the leading '.'; i.e. the IRAF architecture is "ssun" in the above example. [1-site] If you are installing the package for site use login as the 'iraf' user and edit the IRAF file defining the packages, i.e. hlib$extern.pkg % cd $hlib % vi extern.pkg Define the environment variables fitsutil to be the pathname to the fitsutil package root directory. The UNIX pathnames MUST be terminated with a '/'. Edit extern.pkg to include the following. reset fitsutil = //fitsutil/ task fitsutil.pkg = fitsutil$fitsutil.cl Where "" is the place you unpacked the package distribution files. Near the end of the extern.pkg file, update the definition of helpdb so it includes the fitsutil help database, copying the syntax already used in the string. Add this line before the line containing a closing quote: ,fitsutil$lib/helpdb.mip\ [1-personal] If you are installing the package for personal use define a host environment variable with the pathname of the directory where the package will be located (needed in order to build the package from the source code). Note that pathnames must end with '/'. For example: % setenv fitsutil /local/fitsutil/ In your login.cl or loginuser.cl file make the following definitions somewhere before the "keep" statement. reset fitsutil = /local/fitsutil/ task fitsutil.pkg = fitsutil$fitsutil.cl printf ("reset helpdb=%s,fitsutil$lib/helpdb.mip\nkeep\n", envget("helpdb")) | cl flpr If you will be compiling the package, as opposed to installing a binary distribution, then you need to define various environment variables. The following is for Unix/csh which is the main supported environment. # Example % setenv iraf /iraf/iraf/ # Example path to IRAF root % source $iraf/unix/hlib/irafuser.csh # Define rest of environment % setenv IRAFARCH ssun # IRAF architecture where you need to supply the appropriate path to the IRAF installation root in the first step and the IRAF architecture identifier for your machine in the last step. [2] Login into IRAF. Create a directory to contain the package files. These directory should be outside the standard IRAF dir- ectory tree. cl> mkdir fitsutil$ cl> cd fitsutil [3] The package is distributed as a tar archive for the sources and, as an optional convenience, a tar archive of the executables for select host computers. Note that IRAF includes a tar reader. The tar file(s) are most commonly obtained via anonymous ftp. Below is an example from a Unix machine where the compressed files have the ".Z" extension. Files with ".gz" or ".tgz" can be handled similarly. cl> ftp iraf.noao.edu (140.252.1.1) login: anonymous password: [your email address] ftp> cd iraf/extern ftp> get fitsutil.readme ftp> binary ftp> get fitsutil.tar.Z ftp> get fitsutil-bin..tar.Z (optional) or .... ftp> get fitsutil-bin..tar.gz (optional) ftp> quit cl> !uncompress fitsutil.tar cl> !uncompress fitsutil-bin..tar (optional) The readme file contains these instructions. The in the optional executable distribution is replaced by the IRAF architecture identification for your computer. Upon request the tar file(s) may be otained on tape for a service charge. In this case you would mount the tape use rtar to ext- ract the tar files. [4] Extract the source files from the tar archive using 'rtar". cl> softools so> rtar -xrf fitsutil.tar so> bye On some systems, an error message will appear ("Copy 'bin.generic' to './bin fails") which can be ignored. Sites should leave the symbolic link 'bin' in the package root directory pointing to 'bin.generic' but can delete any of the bin. directories that won't be used. If there is no binary directory for the system you are installing it will be created when the package is compiled later or when the binaries are installed. If the binary executables have been obtained these are now extracted into the appropriate bin. directory. # Example of sparc installation. cl> cd fitsutil cl> rtar -xrf fitsutil-bin.sparc.tar # Creates bin.sparc directory The various tar files can be deleted once they have been successfully installed. [5] For a source installation you now have to build the package executable(s). First go to the package root directory with cl> cd fitsutil If you are updating to a newer version and you earlier built the libraries and executables it is necessary to delete these. Otherwise, depending on the dates of files in the new version and the locally built libraries, it may cause the new version to be ignored. To do this the package is configured "generic" which puts all the binary files in one binary directory, the files are deleted and then you continue in the same way as a completely new installation. cl> mkpkg -p fitsutil generic cl> delete bin./* # Substitute sparc, ssun, alpha, etc. Configure the package for the particular architecture to be built. cl> mkpkg -p fitsutil # Substitute sparc, ssun, alpha, etc. This will change the bin link from bin.generic to bin.. The binary directory will be created if not present. If an error occurs in setting the architecture then you may need to add an entry to the file "mkpkg". Just follow the examples in the file. To create the executables and move them to the binary directory cl> mkpkg -p fitsutil # build executables cl> mkpkg -p fitsutil generic # optionally restore generic setting Check for errors. If the executables are not moved to the binary directory then step [1] to define the path for the package was not done correctly. The last step restores the package to a generic configuration. This is not necessary if you will only have one architecture for the package. This should complete the installation. You can now load the package and begin testing and use.