Astro-Software 12 Stellarium kompilieren

Einleitung

Stellarium ist eine Planetariums-Software der Extraklasse. Hervorragend geeignet für einen schnellen Blick auf den virtuellen Sternenhimmel.

Beginnend mit der der Version 1.0 von Stellarium wird CalcMySky zur realistischen Darstellung von zum Beispiel der Dämmerung angeboten. Das Tool ist standardmäßig zur Integration in Stellarium freigeschaltet. Allerdings muß es erst heruntergeladen und selber kompiliert werden, bevor es ans Kompilieren von Stellarium geht.

Abhängigkeiten auflösen

sudo zypper install \
libQt5Charts5-devel \
libqt5-qtscript-devel \
libqt5-qtserialport-devel \
libqt5-linguist-devel \
libqt5-qtmultimedia-devel \
libqt5-qtlocation-devel \
libQt5Gui-private-headers-devel

Sourcecode herunterladen (für CalcMySky)

cd ~/astrostuff &&
git clone https://github.com/10110111/CalcMySky

CalcMySky kompilieren

mkdir -p ~/astrostuff/build/CalcMySky &&
cd ~/astrostuff/build/CalcMySky &&
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DQT_VERSION=5 ~/astrostuff/CalcMySky &&
make -j4

CalcMySky installieren

sudo make -j4 install

Sourcecode herunterladen (für Stellarium)

cd ~/astrostuff &&
git clone --filter=blob:none https://github.com/Stellarium/stellarium.git

Problem zwischen Stellarium und libindi 2.x.x

Stellarium kann über das Plugin TelescopeControl Teleskopmontierungen ansteuern. Durch die Unterstützung der indi-Treiber kann dabei auf eine Vielzahl von Montierungen zugegriffen werden. Leider gibt es hier seit einiger Zeit ein Problem:

Seit dem Versionsupdate von libindi auf 2.x.x verstehen sich Stellarium und indi nicht mehr. Das heißt, ich kann Stellarium nicht mehr kompilieren, der Vorgang bricht mit solchen Fehlermeldung ab:

void INDIConnection::newDevice(INDI::BaseDevice*)« als »override« markiert, überschreibt aber nicht

Dieses Problem läßt so einfach nicht lösen, da müssen die Entwickler der beteiligten Programme ran. Das Problem ist dort bekannt, die Lösung liegt aber seit geraumer Zeit auf Eis. Eigentlich undiskutabel!

Ich habe für mich eine Lösung gefunden, das Problem zu umgehen.

Da ich das Telescope-Plugin in Stellarium nicht brauche (kstars steuert meine Montierung über die indi-Treiber an), habe ich das Plugin für für die Kompilierung ausgeschaltet. Damit verlangt Stellarium nicht mehr nach libindi und die Kompilation läuft problemlos durch.

Um nun dieses Plugin auszuschalten, muß man im cmake-file Hand anlegen. Diese Datei befindet sich bei hier, wenn man sich ein meine Installationsanweisungen in der Astrosoftware-Reihe gehalten hat:

~/astrostuff/stellarium

und nennt sich

CMakeLists.txt

Ab etwa der Zeile 500 in CMakeLists.txt sind die Plugins für Stellarium definiert. Ich kopieren den Ausschnitt mal hier herein:

########### Plugin setup #############

SET(STELLARIUM_PLUGINS) # Global list of all the plugins.
MACRO(ADD_PLUGIN NAME DEFAULT)
     STRING(TOUPPER ${NAME} NAME_UP)
     SET(USE_PLUGIN_${NAME_UP} ${DEFAULT} CACHE BOOL "Define whether the ${NAME} plugin should be created.")
     SET(STELLARIUM_PLUGINS ${STELLARIUM_PLUGINS} ${NAME})
ENDMACRO()

#### demo plugins ####
ADD_PLUGIN(HelloStelModule 0)
ADD_PLUGIN(SimpleDrawLine 0)
#### work plugins ####
ADD_PLUGIN(AngleMeasure 1)
ADD_PLUGIN(ArchaeoLines 1)
ADD_PLUGIN(Calendars 1)
ADD_PLUGIN(Exoplanets 1)
ADD_PLUGIN(EquationOfTime 1)
ADD_PLUGIN(MeteorShowers 1)
ADD_PLUGIN(NavStars 1)
ADD_PLUGIN(Novae 1)
ADD_PLUGIN(Observability 1)
ADD_PLUGIN(Oculars 1)
ADD_PLUGIN(Oculus 0)
ADD_PLUGIN(OnlineQueries 1)
ADD_PLUGIN(PointerCoordinates 1)
ADD_PLUGIN(Pulsars 1)
ADD_PLUGIN(Quasars 1)
IF(ENABLE_SCRIPTING)
     ADD_PLUGIN(RemoteControl 1)
ELSE()
     ADD_PLUGIN(RemoteControl 0)
ENDIF()
ADD_PLUGIN(RemoteSync 1)
ADD_PLUGIN(Satellites 1)
ADD_PLUGIN(Scenery3d 1)
ADD_PLUGIN(SolarSystemEditor 1)
ADD_PLUGIN(Supernovae 1)
ADD_PLUGIN(TextUserInterface 1)
ADD_PLUGIN(TelescopeControl 0)
ADD_PLUGIN(Vts 0)

In der vorletzten Zeile dieses Ausschnitts ist TelecopeControl definiert. Ich habe den default-Wert hier schon auf 0 gesetzt, was bedeutet: nicht beachten.

Abspeichern und fertig! Nun kann Stellarium ohne das Telescope-Plugin und damitohne die Probleme mit libindi kompiliert werden.

Problem — Ende

Weiter geht es im „Normalmodus“ mit dem Kompilieren 🙂

Stellarium kompilieren

mkdir -p ~/astrostuff/build/stellarium &&
cd ~/astrostuff/build/stellarium &&
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ~/astrostuff/stellarium &&
make -j4

Stellarium installieren

sudo make -j4 install

Was fehlt noch? Na klar: Meine Sternbildlinien

Die von mir entwickelten Sternbildlinien, die ich hier auf sternenkarten.com, können von der Website von Stellarium heruntergeladen werden. Danach müssen sie nur noch entpackt und installiert werden.

Und das geht so:

Die Sternbildlinien herunterladen

wget -P ~/Downloads  https://github.com/Stellarium/stellarium-data/releases/download/skycultures/western_sternenkarten.zip

Die Sternbilddatei hat den Namen „western_sternenkarten.zip“ und befindet sich nun im download-Ordner. Nun wird sie entpackt.

western_sternenkarten.zip entpacken

cd ~/Downloads &&\
unzip western_sternenkarten.zip

Installation

Hier reicht es die entpackte Datei in ein verstecktes Verzeichnis in der home-dir zu schieben. Das Zeilverzeichnis erhält den Namen: „.stellarium/skycultures“. Ist es noch nicht vorhanden, legen wir es an. Dasgeht so

mkdir -p ~/.stellarium/skycultures &&\
mv ~/Downloads/western_sternenkarten ~/.stellarium/skycultures

Das wars. Die Sternbildlinien-Dateien im Download-Ordner können nun in den Papierkorb geworfen werden.

Einrichtung in Stellarium

Das erzähle ich in einem separaten Artikel. Wenn der fertig ist, steht hier der Link darauf 🙂

Hinweis

Geschrieben für und getestet mit Linux openSUSE Tumbleweed.
Die Verwendung von Code, der in dieser Astro-Software-Reihe gezeigt wird, erfolgt ausschließlich auf eigene Gefahr.

Die Artikel bauen aufeinander auf und müssen der Reihe nach abgearbeitet werden, sonst klappt es nicht mit dem kompilieren.

https://sternenkarten.com/
Menüpunkt: Astro-Software

2 Gedanken zu „Astro-Software 12 Stellarium kompilieren

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..