Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



57 Commits

Repository files navigation

The code here provides a slang module for the CFITSIO library.  It
also provides a higher-level interface to the module via the slang
wrappers in src/

See the documentation in the doc/ directory for information
about using the module, or, for the most up to date version, see

To build the code, you will need the following additional libraries:

   1.  The slang library (
   2.  The CFITSIO library
  *** NOTE: You may already have the cfitsio library installed as part
  of some other package, e.g., CIAO, LHEASOFT, HEADAS, etc.  Although
  unrecommended, if you want to link against cfitsio in one of these
  packages, be aware that the library may have been renamed to a
  package specific name, e.g., libcxccfitsio.  As such, the configure
  script may not be able to find the library.  If this happens, you
  will have to edit the cfitsio specific variables in src/Makefile.

  *** NOTE: The cfitsio developers have informed me that they make no
  guarantees of binary compatibility between releases.  Hence, if you
  upgrade your cfitsio library, then you should recompile the cfitsio
  module and anything else that depends upon the upgraded library.
  This is also true if you have linked against a package-specific
  version of cfitsio (e.g., from HEADAS) and you have upgraded the

You must run the configure script before you can compile the module.
If either the slang or cfitsio libraries are installed in
non-standard locations, then you will need to specify the locations of
these libraries as arguments to the configure script.  For example,
suppose is located in /home/bill/lib and its include file
slang.h is located in /home/bill/include.  Similarly, assume the cfitsio
library and include files are located in /home/bill/opt/lib and
/home/bill/opt/include, respectively.  Then one would run the 
configure script using:

  ./configure --with-slanglib=/home/bill/lib \
              --with-slanginc=/home/bill/include \
              --with-cfitsiolib=/home/bill/opt/lib \

or, the shorter form which assumes a common pathname prefix for the
lib include directories:

  ./configure --with-slang=/home/bill --with-cfitsio=/home/bill/opt

You should also specify a location for the modules (*.so) and any associated
script (*.sl) files created by this package.  The default location for
the modules is in


Any .sl files will be installed in


where the values of the variable $prefix defaults to /usr/local, and
that of $exec_prefix to the value of $prefix.  These values may be
changed using the --prefix and --exec-prefix configure script
parameters.  For example, to set the value of $prefix to /home/bill,

   ./configure --prefix=/home/bill ...

For more help using the configure script, run it using 

   ./configure --help

It is also a good idea to read the INSTALL.txt file located in this

Once the configure script has been run, it is a good idea to inspect
the Makefile that it generated in the src directory.  Then building
and installing the library should involve nothing more than:

   make install

You may have to have root privileges to peform the last step. 


cfitsio module for the S-Lang interpreter






No releases published


No packages published