Revision as of 13:55, 24 August 2016 by Lock42 (talk | contribs)

Installing Siril from binaries

Siril is currently available as binaries only for the released packages like 0.9.4.

Debian

The binary package is available on Debian testing and unstable. It should be installed via repositories, in root privileges:

   apt-get install siril

Ubuntu & Linux Mint

Official repositories

   sudo apt-get install siril

PPA repositories

On Ubuntu 16.04 and Linux Mint 18.X, for a newer version that the one provided on official repositories, there is a PPA:

   sudo add-apt-repository ppa:lock042/siril
   sudo apt-get update
   sudo apt-get install siril

For other operating systems, please use the source method below. Windows is completely unsupported. If you can, consider making an installation process or a package for your operating system.

Installation from sources

Installation from source is recommended if you want the latest features, if the past release is getting old or if you want to participate in improving Siril. Many users are reporting tweaks they would like, and we often implement them very rapidly, so that would be the only way to benefit from it.

The sources are stored on a subversion repository, you can download them with this command the first time:

   svn co https://free-astro.org/svn/siril/branches/0.9/ siril

And update it the following times by typing svn up in the base directory.

Below is a list of dependencies. Siril relies on the autotools compilation configuration system and once the source has been downloaded and the system is ready, the general way to build it is as such:

   ./autogen.sh
   make
   make install

possibly with superuser privileges.

You may want to pass specific options to the compiler, for example like that if you want optimisation and installation in /opt instead of the default /usr/local:

   CFLAGS='-mtune=native -O2' ./autogen.sh --prefix=/opt

To launch Siril, the command name is siril.

Dependencies

Siril depends on a number of libraries, most of which should be available in your operating system if it is recent enough. The names of the packages specific to operating systems are listed in each section below. Mandatory dependencies are:

  • gtk+-3.6 (Graphical user interface library)
  • cfitsio (FITS images support)
  • fftw (Discrete Fourier Transform library)
  • gsl-1.* (The GNU Scientific Library), version 2 is supported starting with release 0.9.1 and SVN revision 1040.
  • libconfig++ (Structured configuration files support)

Optional dependencies are:

  • libraw, libtiff, libjpeg, libpng, giflib for RAW, TIFF, JPE, PNG and GIF images import and export. The libraries are detected at compilation-time.
  • FFMS2 for film native support as image sequences. It also allows frames to be extracted from many kinds of film, for other purposes than astronomy. Versions < 2.20 have an annoying bug. It is recommanded to install the last version.
  • OpenCV and a C++ compiler for some image operations.

Build dependencies

To install from source, you will have to install the base development packages:

    autoconf, automake, libtool, intltool, pkg-tools, make, gcc, g++

You'll probably want subversion too, to download the latest version on the source repository.

Siril is developed with Arch Linux, which has all latest packages versions, and under Debian testing. This allows us to verify a large range of package versions.

Installing on Debian

Debian 6 doesn't have GTK+ version 3, and Debian 7 has partial support for all the features we use in GTK+ (version 3.4 while our minimum is supposed to be 3.6). You can still make it work with Debian 7 but Debian 8, codename Jessie is recommended. For a desktop system, the next stable is probably the better choice, called Debian testing, currently version 9 with codename Stretch.

  • Packages required for the build system:
   autoconf automake make gcc libtool intltool pkg-config
  • List of packages for mandatory dependencies:
   libfftw3-dev libgsl0-dev libcfitsio3-dev libgtk-3-dev libconfig++-dev
  • List of packages for optional dependencies:
   libpng-dev libjpeg-dev libtiff5-dev libraw-dev libgif-dev

for film (AVI and others) support: libffms2-dev, and for image resizing, rotation and others: libopencv-dev and g++.

Note that libtiff5 is incompatible with OpenCV in debian 7, in that case you need to install libtiff4 instead. And in debian 8, libjpeg8-dev has been replaced by libjpeg62-turbo-dev, which is also installed by libtiff5-dev.

Installing on Ubuntu

A list of dependencies has been reported, for building the executable from source. Use the following command to install all of them:

  • Ubuntu 14.04
   sudo apt-get -y install automake autoconf build-essential intltool libgtk-3-dev \
   fftw3-dev libgsl0-dev libcfitsio3-dev libconfig++-dev libtiff-dev \
   libjpeg-dev libraw-dev libffms2-dev libopencv-dev

WARNING: in Ubuntu 14.04, the version of giflib is too old. You must compile sources, https://sourceforge.net/projects/giflib/, by making:

   ./configure
   make
   sudo make install
  • Ubuntu 16.04
   sudo apt-get -y install automake autoconf build-essential intltool libgtk-3-dev \
   fftw3-dev libgsl-dev libcfitsio3-dev libconfig++-dev libtiff-dev \
   libjpeg-dev libraw-dev libffms2-dev libopencv-dev libgif-dev

Then proceed with the normal procedure:

   ./autogen.sh
   make
   sudo make install

Installing on Arch Linux

Vincent maintains an AUR package for Siril. Download the tarball, run makepkg to build the package and pacman -U to install the package.

Installing on FreeBSD 10

The list of dependencies is basically the same as for other OS, below are a list for build dependencies and a list of Siril dependencies:

   pkg install autotools gmake pkgconf libtool intltool \
   libconfig gtk3 fftw3 gsl cfitsio libraw opencv giflib

The only package not available as binary is ffms2, for film files handling, you will need to compile it from source.

Compilation and the software are working fine with the default clang (cc) compiler. However, in its current version, clang does not support OpenMP, the language extension / library that we use for parallelism, which means Siril will probably be slower, for stacking in particular. Recently, clang 3.8 appeared in FreeBSD 10 with OpenMP support (clang38 in pkg), and Siril can be compiled with it using the following configure command:

   C=clang38 CXX=clang38 LD=clang++38 LDFLAGS='-L/usr/local/llvm38/lib' ./autogen.sh

It is also possible to install gcc 4.8 or gcc 5 in FreeBSD. Make sure to link with the OS official compiler however, cc or c++ and not gcc or g++, otherwise the generated binary will be incorrect. That's also why the -lgomp is required to link it:

   CC=gcc5 LDFLAGS="-Wl,-rpath=/usr/local/lib/gcc5 -L/usr/local/lib/gcc5 -lgomp" ./autogen.sh

Installing on Mac OS X

This is an installation procedure for Siril under Mac OS X 10.11 (El Capitain).

Install XCode via the App Store (free software).

Install XQuartz via http://xquartz.macosforge.org/landing/ (free software)

Install the command line tools by typing in a Terminal window: xcode-select --install

Install the MacPorts software (free): http://www.macports.org (Follow the installation instructions on this site.)

The following is done in a Terminal window. One should first install some libraries:

   sudo port install gcc49
   sudo port install automake
   sudo port install autoconf
   sudo port install gtk3
   sudo port install gnome-themes-standard
   sudo port install librsvg
   sudo port install cfitsio
   sudo port install fftw-3
   sudo port install gsl
   sudo port install libconfig-hr
   sudo port install gnome-font-viewer

Now we want to make available multithreading in cfitsio: In the following directory:

   /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/science/cfitsio

Edit the file: Portfile

Change the line

   configure.cflags    -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

by

   configure.cflags    -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT

Then:

   sudo port uninstall cfitsio
   sudo port -s install cfitsio

Also install some optional dependencies (recommanded):

   sudo port install libraw
   sudo port install tiff
   sudo port install libpng
   sudo port install opencv

Now you can manually install libjpeg (if you want to work with JPEG files):

   curl --remote-name http://www.ijg.org/files/jpegsrc.v9a.tar.gz
   tar -xzvf jpegsrc.v9a.tar.gz
   cd jpeg-9a
   ./configure --prefix=/usr/local
   make
   sudo make install

Now you can manually install giflib (if you want to be able to export GIF files) which is too old in macport: Download giflib sources at this url:

   https://sourceforge.net/projects/giflib/

and put the file in your home directory

   tar -jxvf giflib-5.1.2.tar.bz2
   cd giflib-5.1.2
   ./configure
   make
   sudo make install

Install the ffms2 library which is not present in MacPorts. Download it here: https://github.com/FFMS/ffms2, in the ffms2 folder, type from the terminal:

   ./configure --prefix=/opt/local
   make
   sudo make install

Download the SIRIL sources:

   svn co https://free-astro.org/svn/siril/branches/0.9/ siril

In the terminal go to the siril folder:

   cd siril

Generate the configure file by typing:

   ./autogen.sh
   make

To install Siril, use the usual:

   sudo make install

Launch Siril:

   siril

Enjoy!