To build and install CCfits from source code on a UNIX-like (e.g. UNIX, Linux, or Cygwin) platform, take the following steps. For building on a Microsoft Windows platform with Visual Developer Studio, see below.
By default, the GCC compiler and linker will be used. If you want to compile and link with a different compiler and linker, you can set some environment variable before running the configure script. For example, to use Sun's C++ compiler, do the following:
> setenv CXX CC (csh syntax)
> export CXX=CC (bash syntax)
You can set the absolute path to the compiler you want to use if necessary.
CCfits requires that the CFITSIO package, version 3.08 or later, is available on your system. See
for more information. The configure script that you will run takes an option to specify the location of the CFITSIO package.
If the CFITSIO package is installed in a directory consisting of a 'lib' subdirectory containing "libcfitsio.a" or "libcfitsio.so" and an 'include' subdirectory containing "fitsio.h", then you can run the configure script with a single option. For example, if the cfitsio package is installed in this fashion in /usr/local/cfitsio/ then the configure script option will be
If the CFITSIO package is not installed in the above manner, then you need to run the configure script with two options, one to specify the include directory and the other to specify the library directory. For example, if the cfitsio package was built in /home/user/cfitsio/ then the two options will be
For users of HEASOFT (instead of stand-alone CFITSIO): Note that modern distributions of HEASOFT only include a "libcfitsio_X.XX.so" library by default, but the configure script needs to find "libcfitsio.so", so you will need to create a symbolic link in $HEADAS/lib/ linking libcfitsio.so -> libcfitsio_X.XX.so in order for CCfits to configure properly. You can then configure CCfits using "--with-cfitsio=$HEADAS/lib".
You have the option of carrying out the build in a separate directory from the source directory or in the same directory as the source. In either case, you need to run the configure script in the directory where the build will occur. For example, if building in the source directory with the cfitsio directory in /usr/local/cfitsio/ then the configure command should be issued like this:
> ./configure --with-cfitsio=/usr/local/cfitsio
If you do the build in a separate directory from the source, you may need to issue the configure command something like this:
> ../CCfits/configure --with-cfitsio=/usr/local/cfitsio
The configure script will create the Makefile with the path to the compiler you choose (or GCC by default), and the path to the CFITSIO package. The configure script has other options, such as the install location. To see these options type
> ./configure --help
Building the C++ shared library and Java classes will be done automatically by running make without arguments like this:
To install, type:
> make install
The default install location will be /usr/local/lib for the library and /usr/local/include for the header files. You can change this with the --prefix option when you configure, or with something like...
> make DESTDIR=/usr/local/CCfits install
Compiling CCfits with MS VC++ requires VC++ 7.0 or later. This is the compiler that comes with Visual Studio.NET. Earlier versions of the compiler has too many defects in the area of instanciating templates.
Take the following steps.
1. Compile the C++ code. Open the vs.net/CCfits/CCfits.sln file with Visual Studio.NET. The includes paths have been set to find the cfitsio build directory at the same level as the CCfits directory. If this is not the case, use Visual Studio.NET to edit the include paths and extra library paths to where you have cfitsio installed.
Next, just use the build icon or the build menu item.
To build the test program, cookbook, use the vs.net/cookbook.cookbook.sln file
Author: Paul_Kunz@slac.stanford.edu Revised 1 Nov 2006 by Bryan Irby