FuzzyBot (talk | contribs)
Updating to match new version of source page
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages />
<languages />


We maintain Siril binaries in many operating systems, but in general only for the official releases, like the last one: [[Siril:0.9.9|0.9.9]]. If your operating system has no binary version, you will have to build it [[#Installation_from_source|from source]] yourself.
<span style="color: #ff0090; font-weight: bold; text-align: center; margin: 2em; font-size: 125%;">This page is now deprecated. Please refer to the new documentation at [https://siril.readthedocs.io/en/stable/Installation.html siril.readthedocs.io].</span>
 
We maintain Siril binaries in many operating systems, but in general only for the [[Siril:releases|official releases]]. If your operating system has no binary version or if you want to customize it, you will have to build it [[#Installation_from_source|from source]].
 
'''This is the installation documentation for Siril 1.2, for Siril 1.0 see [https://free-astro.org/index.php?title=Siril:install&oldid=7944|the older version of the page]'''


=Installing Siril from binaries=
=Installing Siril from binaries=


==Debian[[File:Debian_logo.png|48px|frameless|link=|middle]]==
==Debian[[File:Debian_logo.png|48px|frameless|link=|middle]]==
The binary package is available on Debian [https://packages.debian.org/stretch/siril testing] and [https://packages.debian.org/sid/siril unstable].
The binary package is available on Debian [https://packages.debian.org/testing/siril testing] and an old version for [https://packages.debian.org/stable/siril stable].
It should be installed via repositories, with superuser privileges:
It can be installed via apt, with superuser privileges:
     apt install siril
     apt install siril


==Ubuntu & Linux Mint[[File:Ubuntu_logo.png|48px|frameless|link=|middle]][[File:LMint_logo.png|48px|frameless|link=|middle]]==
==Ubuntu & Linux Mint[[File:Ubuntu_logo.png|48px|frameless|link=|middle]][[File:LMint_logo.png|48px|frameless|link=|middle]]==
===Official repositories===
===Official repositories===
As for debian, it is available in the repositories:
     sudo apt-get install siril
     sudo apt-get install siril
===PPA repositories===  
===PPA repositories===  
On Ubuntu 16.04 and Linux Mint 18.X, for a newer and less stable version that the one provided on official repositories, there is a PPA:
A newer version is also available in our PPA:
     sudo add-apt-repository ppa:lock042/siril
     sudo add-apt-repository ppa:lock042/siril
     sudo apt-get update
     sudo apt-get update
Line 20: Line 25:


==Mac OS X[[File:OSX_logo.png|48px|frameless|link=|middle]]==
==Mac OS X[[File:OSX_logo.png|48px|frameless|link=|middle]]==
See [https://siril.org/download/ our download page] for an official build for Mac.


===Installation via Homebrew (recommended method since 0.9.5)===
==Flatpak and AppImage==
*Removing Siril from macport if exists
Siril is also available with the static binary packages [https://flathub.org/apps/details/org.free_astro.siril flatpak] and [https://appimage.github.io/Siril/ AppImage]. You should not use these if Siril is available in your OS like Ubuntu because they take more space on the disk and may not work as well.
If Siril was already installed via macport, uninstall it (if not, go directly to next step):
    cd siril
    sudo make uninstall


It is also recommended to uninstall macports. To do it, visit this page: https://guide.macports.org/chunked/installing.macports.uninstalling.html
=Installation from source=
Installation from source is required if you want the latest features, if the past release is getting old, if you want to participate in improving Siril or not use all the dependencies.


*Installation of Homebrew
==Getting the sources==
More details are listed on Homebrew website: https://brew.sh/


First, install XCode via the App Store (free software) and install the command line tools by typing in a Terminal window:
The sources are stored on a git repository, which you can download with this command the first time:
     xcode-select --install
     git clone https://gitlab.com/free-astro/siril.git
    cd siril
    git submodule update --init


Then, you can install Homebrew.
And update it the following times by typing <code>git pull</code> in the base <tt>siril</tt> directory.
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
The script explains what it will do and then pauses before it does it.


*Installation of Siril
==Dependencies==
Copy the following line in the terminal :
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:
    brew install siril
* [http://www.gtk.org/ gtk+3] (Graphical user interface library), at least version 3.20
* [http://heasarc.nasa.gov/fitsio/fitsio.html cfitsio] (FITS images support)
* [http://www.fftw.org/ fftw] (Discrete Fourier Transform library)
* [http://www.gnu.org/software/gsl/ gsl] (The GNU Scientific Library), version 1 or 2 starting with release 0.9.1 or SVN revision 1040
* [http://opencv.org/ OpenCV] and a C++ compiler for some image operations


*Updates
''Note:'' even if Siril can run in console since version [[Siril:0.9.9|0.9.9]], it is still linked against the graphical libraries, so you still need GTK+ to compile and run it.
When a new version of Siril is available, copy this line to the terminal:
    brew upgrade siril
and download the new <code>.app</code> file.


Enjoy!!
Optional dependencies are:
* [https://curl.haxx.se/libcurl/ libcurl] OR [https://gitlab.gnome.org/GNOME/glib-networking glib-networking] with its HTTP backend for online operations like update checks, astrometry and photometry requests.
* [http://www.libraw.org/ libraw], [http://www.libtiff.org/ libtiff], [http://libjpeg.sourceforge.net/ libjpeg], [http://libpng.sourceforge.net/index.html libpng], [https://github.com/strukturag/libheif libheif] for RAW, TIFF, JPEG, PNG and HEIF images import and export. The libraries are detected at compilation-time.
* [https://github.com/FFMS/ffms2 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 recommended to install the latest version.
* [https://www.ffmpeg.org/ ffmpeg] (or libav), providing libavformat, libavutil (>= 55.20), libavcodec, libswscale and libswresample for mp4 sequence export
* [http://www.gnuplot.info gnuplot] for photometry graph creation (not required at compilation time)
* [https://www.gnu.org/software/gnuastro/manual/html_node/WCSLIB.html wcslib] for world coordinate system management, annotations and the photometric color calibration
* [https://hyperrealm.github.io/libconfig/ libconfig] (Structured configuration files support), used to read the configuration file from versions up to 1.0, only used to get old settings now
* [https://gitlab.gnome.org/GNOME/json-glib libjson-glib] for update checking (useless if you build an non-released version).
* [https://www.exiv2.org/ Exiv2] to manage image metadata.


[[File:Siril_on_MacOS_brew.png|600px]]
===Build dependencies===
To install from source, you will have to install the base development packages:
    git, autoconf, automake, libtool, intltool, pkg-tools, make, cmake, gcc, g++
The compilers gcc and g++ from this list can be replaced by clang and clang++ (we use them for development), probably others as well.


=Installation from source=
The autotools packages (autoconf, automake, probably some others) can be replaced by meson.
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 rapidly, so that would be one way to benefit from them. The other way is to use the Ubuntu PPA repository, which is updated with intermediate versions more often.


The sources are stored on a subversion repository, you can download them with this command the first time:
==Generic build process==
    svn co https://free-astro.org/svn/siril/branches/0.9/ siril
Siril can be compiled either using autotools or meson.
===Meson===
The newer (since version [[siril:0.99.4|0.99.4]]) way is to use meson and ninja:
    meson --buildtype release _build
    cd _build
    ninja
    ninja install


And update it the following times by typing <code>svn up</code> in the base directory. Alternatively, we mirror the code on [https://gitlab.com/lock042/Siril-0.9 gitlab] if you prefer working with git.
To disable some dependencies or features, use meson options -D''feature''=false or -Ddisable-''feature''=yes depending on the case.


Below is a list of dependencies. Siril relies on the autotools compilation configuration system and once the source has been downloaded and the prerequisites have been installed, the general way to build it is as such:
===Autotools===
The autotools ways is well known in the unix world, once the source has been downloaded and the prerequisites have been installed, the general way to build it is as such:
     ./autogen.sh
     ./autogen.sh
     make
     make
Line 67: Line 89:


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:
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
     CFLAGS='-mtune=native -O3' ./autogen.sh --prefix=/opt
To launch Siril, the command name is <code>siril</code>.


==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:
* [http://www.gtk.org/ gtk+3] (Graphical user interface library), at least version 3.12
* [http://heasarc.nasa.gov/fitsio/fitsio.html cfitsio] (FITS images support)
* [http://www.fftw.org/ fftw] (Discrete Fourier Transform library)
* [http://www.gnu.org/software/gsl/ gsl] (The GNU Scientific Library), version 1 or 2 starting with release 0.9.1 or SVN revision 1040.
* [https://hyperrealm.github.io/libconfig/ libconfig] (Structured configuration files support)
* [http://opencv.org/ OpenCV] and a C++ compiler for some image operations.


''Note:'' even if Siril [[Siril:0.9.9|0.9.9]] can run in console, it is still always linked against the graphical libraries. So you still need GTK and X11 or wayland client to compile and run it.
To launch Siril, the command name is <code>siril</code> or <code>siril-cli</code>.
 
Optional dependencies are:
* [http://www.libraw.org/ libraw], [http://www.libtiff.org/ libtiff], [http://libjpeg.sourceforge.net/ libjpeg], [http://libpng.sourceforge.net/index.html libpng] for RAW, TIFF, JPE, PNG and images import and export. The libraries are detected at compilation-time.
* [https://github.com/FFMS/ffms2 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.
* [https://curl.haxx.se/libcurl/ libcurl] for new Siril release checking online.
 
===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 <code>subversion</code> too, to download the latest version on the source repository.


==Installing on Debian[[File:Debian_logo.png|48px|frameless|link=|middle]]==
==Installing on Debian[[File:Debian_logo.png|48px|frameless|link=|middle]]==
For a desktop system, the next stable is probably the better choice, called Debian testing, currently version 10 with codename ''Buster''. Otherwise, Siril should still work with Debian 8 ''Jessie'' and 9 ''Stretch''. You may want to build a .deb package instead of using a non-packaged version, in that case see [https://wiki.debian.org/BuildingTutorial this help]. In particular, to install dependencies, you can use the command:
You may want to build a .deb package instead of using a non-packaged version, in that case see [https://wiki.debian.org/BuildingTutorial this help]. In particular, to install dependencies, you can use the command:
     apt build-dep siril
     apt build-dep siril


Otherwise, here is the list of packages for the current version:
Otherwise, here is the list of packages for the current version:
* Packages required for the build system:
* Packages required for the build system:
     autoconf automake make gcc libtool intltool pkg-config
     autoconf automake make gcc g++ libtool intltool pkg-config cmake


* List of packages for mandatory dependencies:
* List of packages for mandatory dependencies:
     libfftw3-dev libgsl-dev libcfitsio-dev libgtk-3-dev libconfig-dev libopencv-dev
     libfftw3-dev libgsl-dev libcfitsio-dev libgtk-3-dev libopencv-dev libexiv2-dev


* List of packages for optional dependencies:
* List of packages for optional dependencies:
     libcurl4-gnutls-dev libpng-dev libjpeg-dev libtiff5-dev libraw-dev libavformat-dev libavutil-dev libavcodec-dev libswscale-dev libswresample-dev  
     wcslib-dev libcurl4-gnutls-dev libpng-dev libjpeg-dev libtiff5-dev libraw-dev gnome-icon-theme libavformat-dev libavutil-dev libavcodec-dev libswscale-dev libswresample-dev  
for film (AVI and others) support: <code>libffms2-dev</code>.
for film input (AVI and others) support: <code>libffms2-dev</code>.


Note that libtiff5 is incompatible with OpenCV in debian 7, in that case you need to install libtiff4 instead. And in debian 8, <code>libjpeg8-dev</code> has been replaced by <code>libjpeg62-turbo-dev</code>, which is also installed by <code>libtiff5-dev</code>.
==Installing on Arch Linux[[File:Arch_logo.png|48px|frameless|link=|middle]]==
Two packages are available on AUR: [https://aur.archlinux.org/packages/siril/ siril] and [https://aur.archlinux.org/packages/siril-git/ siril-git]. Download the PKGBUILD or the repository, install dependencies, run makepkg to build the package and pacman -U to install it.


==Installing on Ubuntu & Linux Mint [[File:Ubuntu_logo.png|48px|frameless|link=|middle]][[File:LMint_logo.png|48px|frameless|link=|middle]]==
Dependencies (mandatory and a few optional):
A list of dependencies has been reported, for building the executable from source. Use the following command to install all of them:
     pacman -S base-devel cmake git intltool gtk3 fftw cfitsio gsl opencv exiv2 libraw wcslib
*Ubuntu 14.04 & Linux Mint 17.X
     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 libcurl4-gnutls-dev
*Ubuntu 16.04 & Linux Mint 18.X
    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 libcurl4-gnutls-dev
*Ubuntu 18.04 & Linux Mint 19.X
    sudo apt -y install automake autoconf build-essential intltool libgtk-3-dev libfftw3-dev libgsl-dev libcfitsio-dev libconfig++-dev libtiff-dev libjpeg-dev libraw-dev libffms2-dev libopencv-dev libcurl4-gnutls-dev


Then proceed with the normal procedure:
==Installing on FreeBSD 10[[File:FreeBSD_logo.png|48px|frameless|link=|middle]]==
    ./autogen.sh
    make
    sudo make install


==Installing on Fedora[[File:Fedora_logo.png|48px|frameless|link=|middle]]==
'''(Not updated in a while)'''
    dnf install intltool libconfig-devel gtk3-devel fftw3-devel gsl-devel cfitsio-devel LibRaw-devel opencv-devel curl-devel autoconf automake


Then proceed with the normal procedure:
    ./autogen.sh
    make
and, with superuser privileges
    make install
==Installing on Arch Linux[[File:Arch_logo.png|48px|frameless|link=|middle]]==
[[User:Vincent|Vincent]] maintains an [https://aur.archlinux.org/packages/siril/ AUR package] for Siril. Download the PKGBUILD or the repository, run makepkg to build the package and pacman -U to install it.
==Installing on FreeBSD 10[[File:FreeBSD_logo.png|48px|frameless|link=|middle]]==
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:
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 gettext libconfig gtk3 fftw3 gsl cfitsio libraw opencv curl
     pkg install autotools gmake pkgconf libtool intltool gettext gtk3 fftw3 gsl cfitsio libraw opencv curl


The only package not available as binary is [https://github.com/FFMS/ffms2 ffms2], for film files handling, you will need to compile it from source.
The only package not available as binary is [https://github.com/FFMS/ffms2 ffms2], for film files handling, you will need to compile it from source.


Compilation and the software are working fine with the default clang (<code>cc</code>) compiler. As clang 3.8 appeared in FreeBSD 10 with OpenMP support (clang38 in pkg), Siril can be compiled with it using the following configure command:
Compilation and the software are working fine with the default clang (<code>cc</code>) compiler. As clang 3.8 appeared in FreeBSD 10 with OpenMP support (clang38 in pkg), 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
     C=clang38 CXX=clang++38 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 <code>-lgomp</code> is required to link it:
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 <code>-lgomp</code> is required to link it:
Line 150: Line 134:
[[File:Siril_on_FreeBSD.png|600px]]
[[File:Siril_on_FreeBSD.png|600px]]


==Installing on Mac OS X[[File:OSX_logo.png|48px|frameless|link=|middle]]==
== Building on Windows with msys2 ==
 
These instructions are made for compiling on Windows with MSYS2 distribution using MinGW. MSYS2 requires 64 bit Windows 7 or newer, and does not work with FAT filesystems.
 
[https://www.msys2.org/ Download MSYS2 64bit], a software distribution and building platform for Windows and run the installer - "'''x86_64'''" for 64-bit. When asked, specify the directory where '''MSYS2 64bit''' will be installed.


===Deprecated method, via macport===
Run MSYS2 directly from the installer or later "MSYS2 MinGW 64 bit" from Start menu or shortcut.


Install XCode via the App Store (free software).
First, update the package database and core system packages by typing (for more info about pacman see [https://wiki.archlinux.org/index.php/pacman this page]):


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


Install the command line tools by typing in a Terminal window: <code>xcode-select --install</code>
'''Installing dependencies:'''
Note: automake is the legacy (stable) build method, now being replaced by meson (experimental) build system.


Install the MacPorts software (free): http://www.macports.org (Follow the installation instructions on this site.)
    pacman -S --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake git automake mingw-w64-x86_64-meson mingw-w64-x86_64-ninja mingw-w64-x86_64-gtk3 mingw-w64-x86_64-cfitsio mingw-w64-x86_64-fftw mingw-w64-x86_64-gsl mingw-w64-x86_64-opencv mingw-w64-x86_64-exiv2 mingw-w64-x86_64-curl


The following is done in a Terminal window. One should first install some libraries:
Warning: meson will need a restart of MSYS2 to be usable.
    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:
Also install some optional dependencies (recommended):
In the following directory:
     pacman -S mingw-w64-x86_64-libraw mingw-w64-x86_64-libheif mingw-w64-x86_64-ffms2
     /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/science/cfitsio


Edit the file:
'''Building Siril from source:'''
Portfile
 
The source code is stored on a gitlab repository, you can download it with this command the first time:
    git clone https://gitlab.com/free-astro/siril.git
    cd siril
    git submodule update --init


Change the line
'''Now, meson and ninja are the official way to build siril on Windows''': Generate the build system and compile the code by typing:
     configure.cflags    -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
     meson _build
by
     ninja -C _build install
     configure.cflags    -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT


Then:
'''To launch your build of Siril:'''
    sudo port uninstall cfitsio
    sudo port -s install cfitsio


Also install some optional dependencies (recommanded):
Run MSYS2 64bit and type siril's command name:  
     sudo port install libraw
     siril
    sudo port install tiff
    sudo port install libpng
    sudo port install opencv


Now you can manually install <code>libjpeg</code> (if you want to work with JPEG files):
You can also create a shortcut to siril.exe to start it, the default location is /mingw64/bin/.
    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:
'''To update your version:'''
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:
Run MSYS2 64bit then
     ./configure --prefix=/opt/local
     pacman -Syu
    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
     cd siril
Generate the configure file by typing:
    git pull --recurse-submodules
     ./autogen.sh
     meson _build
     make
     ninja -C _build install
To install Siril, use the usual:
 
    sudo make install
If ''git pull'' does not show any change, there is no need to rebuild by running the make command. Otherwise, it will update your build.
Launch Siril:
    siril
Enjoy!


[[File:Siril_on_MacOS.png|600px]]
After that just launch the build by typing ''siril''

Latest revision as of 22:58, 16 September 2023

This page is now deprecated. Please refer to the new documentation at siril.readthedocs.io.

We maintain Siril binaries in many operating systems, but in general only for the official releases. If your operating system has no binary version or if you want to customize it, you will have to build it from source.

This is the installation documentation for Siril 1.2, for Siril 1.0 see older version of the page

Installing Siril from binaries

Debian

The binary package is available on Debian testing and an old version for stable. It can be installed via apt, with superuser privileges:

   apt install siril

Ubuntu & Linux Mint

Official repositories

As for debian, it is available in the repositories:

   sudo apt-get install siril

PPA repositories

A newer version is also available in our PPA:

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

Mac OS X

See our download page for an official build for Mac.

Flatpak and AppImage

Siril is also available with the static binary packages flatpak and AppImage. You should not use these if Siril is available in your OS like Ubuntu because they take more space on the disk and may not work as well.

Installation from source

Installation from source is required if you want the latest features, if the past release is getting old, if you want to participate in improving Siril or not use all the dependencies.

Getting the sources

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

   git clone https://gitlab.com/free-astro/siril.git
   cd siril
   git submodule update --init

And update it the following times by typing git pull in the base siril directory.

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 (Graphical user interface library), at least version 3.20
  • cfitsio (FITS images support)
  • fftw (Discrete Fourier Transform library)
  • gsl (The GNU Scientific Library), version 1 or 2 starting with release 0.9.1 or SVN revision 1040
  • OpenCV and a C++ compiler for some image operations

Note: even if Siril can run in console since version 0.9.9, it is still linked against the graphical libraries, so you still need GTK+ to compile and run it.

Optional dependencies are:

  • libcurl OR glib-networking with its HTTP backend for online operations like update checks, astrometry and photometry requests.
  • libraw, libtiff, libjpeg, libpng, libheif for RAW, TIFF, JPEG, PNG and HEIF 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 recommended to install the latest version.
  • ffmpeg (or libav), providing libavformat, libavutil (>= 55.20), libavcodec, libswscale and libswresample for mp4 sequence export
  • gnuplot for photometry graph creation (not required at compilation time)
  • wcslib for world coordinate system management, annotations and the photometric color calibration
  • libconfig (Structured configuration files support), used to read the configuration file from versions up to 1.0, only used to get old settings now
  • libjson-glib for update checking (useless if you build an non-released version).
  • Exiv2 to manage image metadata.

Build dependencies

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

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

The compilers gcc and g++ from this list can be replaced by clang and clang++ (we use them for development), probably others as well.

The autotools packages (autoconf, automake, probably some others) can be replaced by meson.

Generic build process

Siril can be compiled either using autotools or meson.

Meson

The newer (since version 0.99.4) way is to use meson and ninja:

   meson --buildtype release _build
   cd _build
   ninja
   ninja install

To disable some dependencies or features, use meson options -Dfeature=false or -Ddisable-feature=yes depending on the case.

Autotools

The autotools ways is well known in the unix world, once the source has been downloaded and the prerequisites have been installed, 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 -O3' ./autogen.sh --prefix=/opt


To launch Siril, the command name is siril or siril-cli.

Installing on Debian

You may want to build a .deb package instead of using a non-packaged version, in that case see this help. In particular, to install dependencies, you can use the command:

   apt build-dep siril

Otherwise, here is the list of packages for the current version:

  • Packages required for the build system:
   autoconf automake make gcc g++ libtool intltool pkg-config cmake
  • List of packages for mandatory dependencies:
   libfftw3-dev libgsl-dev libcfitsio-dev libgtk-3-dev libopencv-dev libexiv2-dev
  • List of packages for optional dependencies:
   wcslib-dev libcurl4-gnutls-dev libpng-dev libjpeg-dev libtiff5-dev libraw-dev gnome-icon-theme libavformat-dev libavutil-dev libavcodec-dev libswscale-dev libswresample-dev 

for film input (AVI and others) support: libffms2-dev.

Installing on Arch Linux

Two packages are available on AUR: siril and siril-git. Download the PKGBUILD or the repository, install dependencies, run makepkg to build the package and pacman -U to install it.

Dependencies (mandatory and a few optional):

   pacman -S base-devel cmake git intltool gtk3 fftw cfitsio gsl opencv exiv2 libraw wcslib

Installing on FreeBSD 10

(Not updated in a while)

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 gettext gtk3 fftw3 gsl cfitsio libraw opencv curl

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. As clang 3.8 appeared in FreeBSD 10 with OpenMP support (clang38 in pkg), Siril can be compiled with it using the following configure command:

   C=clang38 CXX=clang++38 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

Building on Windows with msys2

These instructions are made for compiling on Windows with MSYS2 distribution using MinGW. MSYS2 requires 64 bit Windows 7 or newer, and does not work with FAT filesystems.

Download MSYS2 64bit, a software distribution and building platform for Windows and run the installer - "x86_64" for 64-bit. When asked, specify the directory where MSYS2 64bit will be installed.

Run MSYS2 directly from the installer or later "MSYS2 MinGW 64 bit" from Start menu or shortcut.

First, update the package database and core system packages by typing (for more info about pacman see this page):

pacman -Syu

Installing dependencies: Note: automake is the legacy (stable) build method, now being replaced by meson (experimental) build system.

   pacman -S --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake git automake mingw-w64-x86_64-meson mingw-w64-x86_64-ninja mingw-w64-x86_64-gtk3 mingw-w64-x86_64-cfitsio mingw-w64-x86_64-fftw mingw-w64-x86_64-gsl mingw-w64-x86_64-opencv mingw-w64-x86_64-exiv2 mingw-w64-x86_64-curl

Warning: meson will need a restart of MSYS2 to be usable.

Also install some optional dependencies (recommended):

   pacman -S mingw-w64-x86_64-libraw mingw-w64-x86_64-libheif mingw-w64-x86_64-ffms2

Building Siril from source:

The source code is stored on a gitlab repository, you can download it with this command the first time:

   git clone https://gitlab.com/free-astro/siril.git
   cd siril
   git submodule update --init

Now, meson and ninja are the official way to build siril on Windows: Generate the build system and compile the code by typing:

   meson _build
   ninja -C _build install

To launch your build of Siril:

Run MSYS2 64bit and type siril's command name:

   siril

You can also create a shortcut to siril.exe to start it, the default location is /mingw64/bin/.

To update your version:

Run MSYS2 64bit then

   pacman -Syu
   cd siril
   git pull --recurse-submodules
   meson _build
   ninja -C _build install

If git pull does not show any change, there is no need to rebuild by running the make command. Otherwise, it will update your build.

After that just launch the build by typing siril