Installing the software

Hardware requirements

SExtractor runs in (ANSI) text-mode from a shell. A graphical environment is not necessary to operate the software.

Memory requirements depend on the size of the images to be processed. Processing a single image should typically require about 100MB of memory. For large images (hundreds of Mpixels or more), or in double-image / weighted mode, SExtractor's memory footprint should be around 500MB, and up to 2GB in the worst cases. Swap-space can be put to contribution, although a strong performance hit is to be expected.

Obtaining SExtractor

For Linux users, the simplest way to have SExtractor up and running is to install the standard binary package the comes with your Linux distribution. Run, e.g., apt-get sextractor (on Debian) or dnf sextractor (Fedora) as root and SExtractor, as well as all its dependencies, will automatically be installed. If you decided to install the package this way you may skip the following and move straight to the next section.

However if SExtractor is not available in your distribution, or to obtain the most recent version, the SExtractor source package can be downloaded from the official GitHub repository . One may choose one of the stable releases, or for the fearless, a copy of the current master development branch.

Software requirements

SExtractor has been developed on GNU/Linux machines and should compile on any POSIX-compliant system (this includes Apple OS X® and Cygwin on Microsoft Windows®, at the price of some difficulties with the configuration), provided that the development packages of the following libraries have been installed:

On Fedora/Redhat distributions for instance, the development packages above are available as atlas-devel and fftw-devel. Note that ATLAS and FFTw are not necessary if SExtractor is linked with Intel®'s MKL library.

Installation

To install from the GitHub source package, you must first uncompress the archive:

$ unzip sextractor-<version>.zip

A new directory called sextractor-<version> should now appear at the current location on your disk. Enter the directory and generate the files required by the autotools, which the package relies on:

$ cd sextractor-<version>
$ sh autogen.sh

A configure script is created. This script has many options, which may be listed with the --help option:

$ ./configure --help

No options are required for compiling with the default GNU C compiler (gcc) if all the required libraries are installed at their default locations:

$ ./configure

Compared to gcc and the librairies above, the combination of the Intel® compiler (icc) and the MKL libraries can give the SExtractor executable a strong boost in performance, thanks to better vectorized code. If icc and the MKL are installed on your system [4] , you can take advantage of them using

$ ./configure --enable-mkl

Additionally, if the SExtractor binary is to be run on a different machine that does not have icc and the MKL installed (e.g., a cluster computing node), you must configure a partially statically linked executable using

$ ./configure --enable-mkl --enable-auto-flags --enable-best-link

In all cases, SExtractor can now be compiled with

$ make -j

An src/sex executable is created. For system-wide installation, run the usual

$ sudo make install

You may now check that the software is properly installed by simply typing in your shell:

$ sex

which will return the version number and other basic information (note that some shells require the rehash command to be run before making a freshly installed executable accessible in the execution path).