Installing.rst 5.16 KB
Newer Older
1
2
.. File Installing.rst

Emmanuel Bertin's avatar
Emmanuel Bertin committed
3
4
.. include:: global.rst

5
***********************
6
Installing the software
7
***********************
8
9

Hardware requirements
10
=====================
11
12
13
14
15
16

|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.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
17
18
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.
19
20
21
22

Obtaining |SExtractor|
----------------------

Emmanuel Bertin's avatar
Emmanuel Bertin committed
23
24
25
26
27
28
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 :ref:`next section <Using Sextractor>`.

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 <https://github.com/astromatic/sextractor>`_ .
One may choose `one of the stable releases <https://github.com/astromatic/sextractor/releases>`_, or for the fearless, `a copy of the current master development branch <https://github.com/astromatic/sextractor/archive/master.zip>`_.
29
30
31
32

Software requirements
---------------------

Emmanuel Bertin's avatar
Emmanuel Bertin committed
33
|SExtractor| has been developed on `GNU/Linux <http://en.wikipedia.org/wiki/Linux>`_ machines and should compile on any `POSIX <http://en.wikipedia.org/wiki/POSIX>`_-compliant system (this includes |OSX|_ and `Cygwin <http://www.cygwin.com>`_ on |Windows|_, at the price of some difficulties with the configuration), provided that the *development* packages of the following libraries have been installed:
34
35
36
37

* |ATLAS|_ V3.6 and above [#atlas_install]_,
* |FFTw|_ V3.0 and above [#fftw_install]_, 

Emmanuel Bertin's avatar
Emmanuel Bertin committed
38
39
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.
40
41
42
43

Installation
------------

Emmanuel Bertin's avatar
Emmanuel Bertin committed
44
To install from the |GitHub| source package, you must first uncompress the archive:
45
46
47
48
49

.. code-block:: console

  $ unzip sextractor-<version>.zip

Emmanuel Bertin's avatar
Emmanuel Bertin committed
50
51
A new directory called :file:`sextractor-<version>` should now appear at the current location on your disk.
Enter the directory and generate the files required by the `autotools <http://en.wikipedia.org/wiki/GNU_Build_System>`_, which the package relies on:
52
53
54
55
56
57

.. code-block:: console

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

Emmanuel Bertin's avatar
Emmanuel Bertin committed
58
59
A :program:`configure` script is created.
This script has many options, which may be listed with the ``--help`` option:
60
61
62
63
64

.. code-block:: console

  $ ./configure --help

Emmanuel Bertin's avatar
Emmanuel Bertin committed
65
No options are required for compiling with the default GNU C compiler (:program:`gcc`) if all the required libraries are installed at their default locations:
66
67
68
69
70

.. code-block:: console

  $ ./configure

Emmanuel Bertin's avatar
Emmanuel Bertin committed
71
72
Compared to :program:`gcc` and the librairies above, the combination of the |Intel| compiler (:program:`icc`) and the |MKL|_ libraries can give the |SExtractor| executable a strong boost in performance, thanks to better vectorized code.
If :program:`icc` and the |MKL| are installed on your system [#geticc]_ , you can take advantage of them using
73
74
75
76
77

.. code-block:: console

  $ ./configure --enable-mkl

Emmanuel Bertin's avatar
Emmanuel Bertin committed
78
Additionally, if the |SExtractor| binary is to be run on a different machine that does not have :program:`icc` and the |MKL| installed (e.g., a cluster computing node), you must configure a partially statically linked executable using
79
80
81
82
83
84
85
86
87
88
89

.. code-block:: console

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

In all cases, |SExtractor| can now be compiled with

.. code-block:: console

  $ make -j

Emmanuel Bertin's avatar
Emmanuel Bertin committed
90
An :file:`src/sex` executable is created. For system-wide installation, run the usual
91
92
93
94
95

.. code-block:: console

  $ sudo make install

Emmanuel Bertin's avatar
Emmanuel Bertin committed
96
You may now check that the software is properly installed by simply typing in your shell:
97
98
99
100
101

.. code-block:: console

  $ sex

Emmanuel Bertin's avatar
Emmanuel Bertin committed
102
which will return the version number and other basic information (note that some shells require the :program:`rehash` command to be run before making a freshly installed executable accessible in the execution path).
103
104

.. [#mac_install] Mac OS X |.dmg|_ packages should be available soon.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
105
106
107
.. [#atlas_install] Use the ``--with-atlas`` and/or ``--with-atlas-incdir`` options of the |SExtractor| :command:`configure` script to specify the |ATLAS| library and include paths if |ATLAS| files are  installed at unusual locations.
.. [#fftw_install] Make sure that |FFTW| has been compiled with :command:`configure` options ``--enable-threads --enable-float``.
.. [#geticc] The Linux versions of the |Intel| compiler and |MKL| are `available for free to academic researchers, students, educators and open source contributors <http://software.intel.com/qualify-for-free-software>`_.
108