Installation depuis les sources

L'installation à partir du code source est nécessaire si vous souhaitez bénéficier des dernières fonctionnalités, si la version précédente est devenue obsolète, si vous souhaitez participer à l'amélioration de Siril ou ne pas utiliser toutes les dépendances.

Récupérer les sources

Les sources sont stockées sur un dépôt git, que vous pouvez télécharger avec cette commande la première fois :

git clone --recurse-submodules https://gitlab.com/free-astro/siril.git

Et mettez-le à jour les fois suivantes à l'aide de ces commandes dans le répertoire de base de siril :

git pull
git submodule update --recursive

Dépendances

Siril dépend d'un certain nombre de bibliothèques, dont la plupart devraient être disponibles dans votre distribution Linux ou dans le gestionnaire de paquets de votre choix. Les noms des paquets spécifiques aux systèmes d'exploitation sont indiqués dans chaque section ci-dessous. Les dépendances obligatoires sont :

  • gtk+3 (bibliothèque d'interface utilisateur graphique), au moins la version 3.20.

  • adwaita-icon-theme (icônes) pour supporter l'apparence de gtk.

  • cfitsio (support des images FITS).

  • fftw (Bibliothèque de Transformée de Fourier Discrète).

  • gsl (The GNU Scientific Library), version 1 ou 2 à partir de la version 0.9.1 ou révision SVN 1040.

  • OpenCV et un compilateur C++ pour certaines opérations sur les images.

Note

Même si Siril peut fonctionner en console depuis la version 0.9.9, il est toujours lié aux bibliothèques graphiques, donc vous avez toujours besoin de GTK+ pour le compiler et le faire fonctionner.

Les dépendances optionnelles sont :

  • openmp pour le multithreading. Bien qu'optionnelle, cette dépendance est fortement recommandée car les performances seront bien meilleures. Le drapeau de cette option est mis à true par défaut. Cela signifie que si openmp n'est pas installé sur votre machine, vous devez ajouter -Dopenmp=false dans la configuration de meson.

  • libraw, libtiff, libjpeg, libpng, libheif pour l'importation et l'exportation d'images RAW, TIFF, XISF, JPEG, PNG et HEIF. Les bibliothèques sont détectées lors de la compilation.

  • FFMS2 pour le support natif des films en tant que séquences d'images. Il permet également d'extraire des images de nombreux types de films, à d'autres fins que l'astronomie. Les versions < 2.20 ont un bug gênant. Il est recommandé d'installer la dernière version.

  • ffmpeg (ou libav), fournissant libavformat, libavutil (>= 55.20), libavcodec, libswscale et libswresample pour l'exportation de séquences mp4.

  • gnuplot pour la création des graphiques de photométrie (non requis au moment de la compilation).

  • wcslib pour la gestion du système de coordonnées mondiales, les annotations et l'étalonnage photométrique des couleurs.

  • libconfig (Support des fichiers de configuration structurés), utilisé pour lire le fichier de configuration des versions jusqu'à 1.0, seulement utilisé pour récupérer les anciens paramètres maintenant.

  • libjson-glib pour la vérification des mises à jour (inutile si vous construisez une version non publiée).

  • Exiv2 pour gérer les métadonnées des images.

  • libcurl OU glib-networking avec son backend HTTP pour les opérations en ligne telles que les vérifications de mise à jour, les demandes d'astrométrie et de photométrie.

Dépendances de la compilation

Pour l'installer à partir du code source, vous devrez installer les paquets de développement de base :

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

Les compilateurs gcc et g++ de cette liste peuvent être remplacés par clang et clang++ (nous les utilisons pour le développement), et probablement d'autres aussi.

Les packages autotools (autoconf, automake, probablement d'autres) peuvent être remplacés par meson.

Processus de compilation général

Siril peut être compilé à l'aide d'autotools ou de meson.

Meson

La méthode recommandée est d'utiliser meson et ninja :

meson setup _build --buildtype release

cd _build
ninja
ninja install

Pour désactiver certaines dépendances ou fonctionnalités, utilisez les options meson -Dfeature=false ou -Denable-feature=yes en fonction des cas.

Le tableau ci-dessous énumère toutes les options configurables.

Option

Type

Valeur

Choix

Description

relocatable-bundle

combo

platform-default

[ 'yes', 'no', 'platform-default' ]

construire avec les ressources considérées comme regroupées sous le même préfixe

openmp

booléen

vrai

N/A

construire avec le support OpenMP

json_glib

booléen

vrai

N/A

construire avec le support json glib

exiv2

booléen

vrai

N/A

construire avec le support exiv2

libraw

booléen

vrai

N/A

construire avec le support LibRaw

libtiff

booléen

vrai

N/A

construire avec le support TIFF

libjpeg

booléen

vrai

N/A

construire avec le support JPEG

libpng

booléen

vrai

N/A

construire avec le support PNG

libheif

booléen

vrai

N/A

construire avec le support HEIF

ffms2

booléen

vrai

N/A

construire avec le support FFMS2

ffmpeg

booléen

vrai

N/A

construire avec le support FFmpeg

enable-libcurl

combo

platform-default

[ 'yes', 'no', 'platform-default' ]

Utilise libcurl au lieu de GIO

libconfig

booléen

faux

N/A

construire avec le support libconfig

criterion

booléen

faux

N/A

construire avec le support criterion

wcslib

booléen

vrai

N/A

construire avec le support WCSLIB

Autotools

La méthode autotools est bien connue dans le monde unix, une fois que les sources ont été téléchargées et que les prérequis ont été installés, la façon générale de compiler le logiciel est la suivante :

./autogen.sh
make
make install

éventuellement avec des privilèges de superutilisateur pour la dernière ligne.

Vous pouvez vouloir passer des options spécifiques au compilateur, par exemple si vous voulez que l'optimisation et l'installation se fassent dans /opt au lieu du /usr/local par défaut :

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

Pour lancer Siril, le nom de la commande est siril ou siril-cli.

Installation sur les systèmes de type Debian

Vous pouvez vouloir construire un paquet .deb au lieu d'utiliser une version non empaquetée, dans ce cas voir cette help. En particulier, pour installer des dépendances, vous pouvez utiliser la commande :

apt build-dep siril

Sinon, voici la liste des paquets pour la version actuelle :

  • Paquets nécessaires au système de compilation :

autoconf automake make gcc g++ libtool intltool pkg-config cmake
  • Liste des paquets pour les dépendances obligatoires :

libfftw3-dev libgsl-dev libcfitsio-dev libgtk-3-dev libopencv-dev
libexiv2-dev
  • Liste des paquets pour les dépendances optionnelles :

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 libjson-glib-dev libheif-dev

pour la prise en charge des films (AVI et autres) :

libffms2-dev

Installation sous Arch Linux

Deux paquets sont disponibles sur AUR : siril et siril-git. Téléchargez le PKGBUILD ou le dépôt, installez les dépendances, exécutez makepkg pour construire le paquet et pacman -U pour l'installer.

Dépendances (obligatoires et quelques unes optionnelles) :

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

Échecs de compilation

Chaque commit sur le git de Siril est automatiquement construit dans un environnement de construction standard pour Linux, Windows et MacOS en utilisant l'infrastructure gitlab CI. Cela signifie que nous avons une grande confiance dans le fait que la branche master, ainsi que les versions taguées, se construiront avec succès dans un environnement de construction correctement configuré avec les dépendances nécessaires installées.

Si vous rencontrez un échec de compilation, il est probable que cela indique un problème avec votre environnement de construction ou des dépendances mal installées - rappelez-vous que de nombreuses distributions nécessitent l'installation séparée de paquets de développement qui contiennent les fichiers d'en-tête nécessaires. Vérifiez le rapport du CI pour le commit git que vous essayez de compiler. Dans le cas improbable où un échec de compilation est affiché, soyez assuré que l'équipe travaille à le corriger. Dans le cas contraire, si le pipeline CI affiche des coches vertes, vous devrez examiner et corriger les problèmes dans votre propre environnement de construction.

Si vous pensez toujours avoir trouvé un problème de compilation qui n'a pas été signalé par le pipeline CI - par exemple si vous construisez sur une plateforme différente, comme BSD, que les développeurs n'utilisent pas régulièrement - alors n'hésitez pas à soulever un problème sur gitlab.

Notez que les problèmes ne doivent être soulevés que pour la branche principale (master) ou les versions taguées. Si vous testez de nouvelles fonctionnalités dans le cadre de demandes de fusion, veuillez fournir un retour d'information dans les commentaires de la demande de fusion concernée.