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.

  • Little CMS un système de gestion des couleurs open source

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

  • libjson-glib pour la vérification des mises à jour (inutile si vous construisez une version de développement) et l'outil d'étalonnage des couleurs par spectrophotométrie.

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.

  • libtiff,

  • libraw, libtiff, libXISF <https://gitea.nouspiro.space/nou/libXISF>, libjpeg, libjxl, libpng, libheif pour l'importation et l'exportation d'images RAW, TIFF, XISF, JPEG, JPEG XL, PNG et HEIF. Les bibliothèques sont détectées lors de la compilation.

  • libraw, libXISF, libheif pour l'importation RAW, XISF, HEIF et AVIF. La bibliothèque est détectée à 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.

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

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

  • libcurl pour les requêtes d'astrométrie et de photométrie.

  • libgit2 pour maintenir un clone local du dépôt siril-scripts.

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

exiv2

booléen

vrai

N/A

construire avec le support exiv2

libgit2

booléen

vrai

N/A

construire avec l'intégration de git libgit2

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

libjxl

booléen

vrai

N/A

avec prise en charge de JPEG XL

libpng

booléen

vrai

N/A

construire avec le support PNG

libheif

booléen

vrai

N/A

construire avec le support HEIF

libXISF

booléen

vrai

N/A

construire avec le support XISF

ffms2

booléen

vrai

N/A

construire avec le support FFMS2

ffmpeg

booléen

vrai

N/A

construire avec le support FFmpeg

libcurl

booléen

vrai

N/A

Utiliser libcurl pour l'accès au web

criterion

booléen

faux

N/A

construire avec le support criterion

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 :

libgtk-3-dev libcfitsio-dev libfftw3-dev libgsl-dev libopencv-dev
liblcms2-dev wcslib-dev libjson-glib-dev
  • Liste des paquets pour les dépendances optionnelles :

libcurl4-gnutls-dev libpng-dev libjpeg-dev libtiff5-dev
libraw-dev gnome-icon-theme libavformat-dev libavutil-dev libavcodec-dev
libswscale-dev libswresample-dev libgit2-dev libheif-dev
libexiv2-dev libjxl-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

version de LittleCMS

Siril nécessite lcms2 >= 2.14 pour être compilé. Cette version est nécessaire afin d'assurer l'optimisation du code de gestion des couleurs. Une version suffisante est disponible dans les tests Debian et Ubuntu 23.04, mais la version actuelle d'Ubuntu LTS fournit une version plus ancienne, et d'autres distributions de système d'exploitation peuvent également le faire. Si vous vous trouvez sur un système d'exploitation plus ancien qui ne fournit pas lcms2 >= 2.14, vous pouvez soit installer manuellement les packages à partir d'une version plus récente de votre distribution, soit créer et installer lcms2 à partir du code source. La source lcms2 est disponible sur leur dépôt git.

É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.