Installation aus den Quelldateien
Die Installation aus dem Quellcode ist erforderlich, wenn Sie die neuesten Funktionen nutzen möchten, wenn die vorherige Version veraltet ist, wenn Sie an der Verbesserung von Siril teilnehmen möchten oder nicht alle Abhängigkeiten verwenden möchten.
Beschaffung der Quelldateien
Die Quelldateien werden in einem Git-Repository gespeichert, das Sie beim ersten Mal mit diesem Befehl herunterladen können:
git clone --recurse-submodules https://gitlab.com/free-astro/siril.git
Aktualisieren Sie es regelmäßig durch Eingabe von git pull im Siril-Basisverzeichnis:
git pull
git submodule update --recursive
Abhängigkeiten
Siril ist auf eine Reihe von Bibliotheken angewiesen, von denen die meisten in der Linux-Distribution oder im Paketmanager Ihrer Wahl verfügbar sein sollten. Die Namen der betriebssystemspezifischen Pakete sind in den einzelnen Abschnitten unten aufgeführt. Obligatorische Abhängigkeiten sind:
cfitsio (Unterstützung des FITS-Dateiformats).
fftw (Bibliothek zur diskreten Fourier Transformation).
gsl (The GNU Scientific Library), Version 1 oder 2 beginnend mit Siril 0.9.1 or SVN Revision 1040.
OpenCV und ein C++ Compiler für einige Funktionen der Bildbearbeitung.
Little CMS ein Open-Source Farbverwaltungssystem
wcslib für die Verarbeitung des Welt-Koordinatensystems (WCS), Objektnamen und photometrische Farbkalibrierung.
Optionale Abhängigkeiten sind:
gtk+4 (Graphical user interface library).
adwaita-icon-theme (Icons) um das "look and feel" der Benutzeroberfläche zu unterstützen.
gtksourceview5 for multiline text editing. GtkSourceView adds support for syntax highlighting, undo/redo, file loading and saving, search and replace, a completion system, printing, displaying line numbers, and other features typical of a source code editor.
openmp für Multithreading. Obwohl optional, wird diese Abhängigkeit dringend empfohlen, da die Leistung dadurch wesentlich besser ist. Das Flag dieser Option ist standardmäßig auf true gesetzt. Das heißt, wenn openmp nicht auf Ihrem Computer installiert ist, müssen Sie „-Dopenmp=false“ im Meson-Setup hinzufügen.
libraw, libtiff, libXISF, libjpeg, libjxl, libpng, libheif for RAW, TIFF, XISF, JPEG, JPEG XL, PNG, HEIF and AVIF images import and export. The libraries are detected at compilation-time.
FFMS2 für die native Unterstützung von Videodateien als Bildsequenzen. Es ermöglicht auch die Extraktion von Einzelbildern aus vielen Arten von Videodateien, auch für andere Zwecke als Astronomie. Versionen <2.20 haben einen lästigen Fehler. Es wird empfohlen, die neueste Version zu installieren.
ffmpeg (or libav), providing libavformat, libavutil (>= 55.20), libavcodec, libswscale und libswresample für die Unterstützung des Exports von MP4-Sequenzen.
wcslib für die Verarbeitung des Welt-Koordinatensystems (WCS), Objektnamen und photometrische Farbkalibrierung.
Exiv2 um Metadaten der Bilder zu verwalten.
libcurl für Astrometrie und photometrische Anfragen.
libgit2 um einen lokalen Klon des Siril-Scripts-Repositorys zu verwalten.
Build-Abhängigkeiten
Für die Installation aus dem Quellcode müssen Sie die Basisentwicklungspakete installieren:
git, libtool, intltool, pkg-tools, make, cmake, gcc, g++
Die Compiler gcc und g++ aus dieser Liste können durch clang und clang++ ersetzt werden (wir verwenden sie für die Entwicklung), wahrscheinlich auch durch andere.
Grundsätzlicher Build-Prozess
Siril build system is now only based meson and ninja.
meson setup _build --buildtype release -Dgtk=true
cd _build
ninja
ninja install
Um einige Abhängigkeiten oder Funktionen zu deaktivieren, verwenden Sie je nach Fall die Meson-Optionen „-Dfeature=false“ oder „-Denable-feature=yes“.
Die folgende Tabelle listet alle konfigurierbaren Optionen auf.
Option |
Typ |
Wert |
Auswahl |
Beschreibung |
|---|---|---|---|---|
gtk |
Boolean |
true |
Unbekannt |
Build the GTK4 GUI executable (default |
relocatable-bundle |
combo |
platform-default |
[ 'yes', 'no', 'platform-default' ] |
bauen mit Ressourcen, die unter demselben Präfix gebündelt werden |
openmp |
Boolean |
true |
Unbekannt |
bauen mit OpenMP-Support |
exiv2 |
Boolean |
true |
Unbekannt |
bauen mit exiv2-Support |
libgit2 |
Boolean |
true |
Unbekannt |
bauen mit libgit2 Git-Integration |
libraw |
Boolean |
true |
Unbekannt |
bauen mit LibRaw-Support |
libtiff |
Boolean |
true |
Unbekannt |
bauen mit TIFF-Support |
libjpeg |
Boolean |
true |
Unbekannt |
bauen mit JPEG-Support |
libjxl |
Boolean |
true |
Unbekannt |
bauen mit JPEG-XL-Support |
libpng |
Boolean |
true |
Unbekannt |
bauen mit PNG-Support |
libheif |
Boolean |
true |
Unbekannt |
bauen mit HEIF-Support |
libXISF |
Boolean |
true |
Unbekannt |
bauen mit XISF-Support |
ffms2 |
Boolean |
true |
Unbekannt |
bauen mit FFMS2-Support |
ffmpeg |
Boolean |
true |
Unbekannt |
Bauen mit FFmpeg-Support |
libcurl |
Boolean |
true |
Unbekannt |
Benutze libcurl für Webzugriffe |
sqlite |
Boolean |
true |
Unbekannt |
Use SQLite for caching online GAIA database |
criterion |
Boolean |
false |
Unbekannt |
bauen mit Criterion-Support |
arch_native |
Boolean |
false |
Unbekannt |
Enable -march=native optimization |
flatpak-id |
Zeichenkette |
Unbekannt |
set by flatpak-builder if building a flatpak |
|
simd_logs |
Boolean |
false |
Unbekannt |
Enable loop vectorization analysis during build (clang only |
legacy-x11-support |
Boolean |
true |
Unbekannt |
GTK4 only: build the X11 drag-and-drop fallback that works around an upstream GTK X11 bug whereby gdk_drop_read_value_async never completes. Pulls in libX11. Linux/BSD only — ignored on macOS/Windows. |
Um Siril zu starten, lautet der Befehlsname siril oder siril-cli.
Installation auf Debian-ähnlichen Systemen
Es kann sein, dass Sie ein .deb-Paket bauen möchten, anstatt eine nicht-paketierte Version zu benutzen. In diesem Fall lesen Sie diese Hilfe. Insbesondere, um die Abhängigkeiten zu installieren, können Sie diesen Befehl verwenden:
apt build-dep siril
Ansonsten finden Sie hier die Liste der Pakete für die aktuelle Version:
Für das Build-System benötigte Pakete:
gcc g++ libtool intltool pkg-config cmake
Liste der Pakete für obligatorische Abhängigkeiten:
libcfitsio-dev libfftw3-dev libgsl-dev libopencv-dev liblcms2-dev wcslib-dev
Liste der Pakete für optionale Abhängigkeiten:
libgtk-4-dev libgtksourceview-5-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 libgit2-dev
libheif-dev libexiv2-dev libjxl-dev liblz4-dev libpugixml-dev libxisf-dev
für die Unterstützung von Videodateien (AVI und andere):
libffms2-dev
Installation auf Arch Linux
Zwei Pakete sind im AUR verfügbar: siril und siril-git. Laden Sie PKGBUILD oder das Repository herunter, installieren Sie die Abhängigkeiten, lassen Sie makepkg laufen, um das Paket zu bauen und pacman -U, um es zu installieren.
Abhängigkeiten (obligatorisch und einige optional):
pacman -S base-devel cmake git intltool gtk4 fftw cfitsio gsl opencv
exiv2 libraw wcslib gtksourceview5
LittleCMS version
Siril requires lcms2 >= 2.14 to build. This version is required in order to provide optimisation of the color management code. A sufficient version is available in debian testing and Ubuntu 23.04, however the current Ubuntu LTS release provides an older version, and other OS distributions may do too. If you find yourself in the position of being on an older OS that does not provide lcms2 >= 2.14, you can either manually install packages from a more recent version of your distribution, or you can build and install lcms2 from source code. The lcms2 source is available at their git repository.
Fehler beim Erstellen
Jeder Commit für Siril Git wird automatisch in einer Standard-Build-Umgebung für Linux, Windows und MacOS mithilfe der Gitlab-CI-Infrastruktur erstellt. Dies bedeutet, dass wir sehr zuversichtlich sind, dass der Master-Zweig sowie getaggte Releases erfolgreich erstellt werden, sofern eine korrekt eingerichtete Build-Umgebung mit den erforderlichen installierten Abhängigkeiten vorhanden ist.
Wenn ein Build-Fehler auftritt, deutet dies wahrscheinlich auf ein Problem mit Ihrer Build-Umgebung oder falsch installierte Abhängigkeiten hin. Denken Sie daran, dass viele Distributionen eine separate Installation von Entwicklungspaketen erfordern, die die erforderlichen Header-Dateien enthalten. Überprüfen Sie den CI-Bericht für den Git-Commit, den Sie erstellen möchten. Für den unwahrscheinlichen Fall, dass ein Build-Fehler angezeigt wird, können Sie sicher sein, dass das Team daran arbeitet, das Problem zu beheben. Andernfalls, wenn die CI-Pipeline grüne Häkchen anzeigt, müssen Sie alle Probleme mit Ihrer eigenen Build-Umgebung überprüfen und beheben.
Wenn Sie immer noch der Meinung sind, dass Sie ein Build-Problem gefunden haben, das von der CI-Pipeline nicht gemeldet wurde – beispielsweise wenn Sie auf einer anderen Plattform wie BSD bauen, die die Entwickler nicht regelmäßig verwenden –, können Sie gerne ein Problem melden auf gitlab.
Beachten Sie, dass Probleme nur für den Master-Zweig oder getaggte Releases gemeldet werden sollten. Wenn Sie neue Funktionen in Merge-Requests testen, geben Sie bitte Feedback in den Kommentaren zum entsprechenden Merge-Request.
System Python
If you are building Siril yourself you need to ensure you have a working system Python installation including pip and venv. Note the last point because on some systems (at least Debian / Ubuntu based systems, possibly others) Python is split into many packages and you must ensure the packages that provide pip and venv are installed.