	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 = /<path>/fitsutil/
        task  fitsutil.pkg = fitsutil$fitsutil.cl
    
    Where "<path>" 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.<arch>.tar.Z  (optional) 	or ....
        ftp> get fitsutil-bin.<arch>.tar.gz  (optional)
        ftp> quit
        cl> !uncompress fitsutil.tar
        cl> !uncompress fitsutil-bin.<arch>.tar (optional)
    
    The readme file contains these instructions.  The <arch>  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.<arch> 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.<arch> 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.<arch>/*      # Substitute sparc, ssun, alpha, etc.
    
    Configure the package for the particular architecture to be built.
    
        cl> mkpkg -p fitsutil <arch>      # Substitute sparc, ssun, alpha, etc.
    
    This  will  change the bin link from bin.generic to bin.<arch>.  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.
