Grundsätzlich ist die CMake-Syntax valide, du hast hier allerdings zweimal dasselbe geschrieben (oder ich seh beim besten Willen den Unterschied nicht).
Edit: Jetzt seh ich das S/D auch ;)
Die neue Version von Minetest wird u.a. dynamische Schatten mit sich bringen und kann sogar schon angetestet werden. Der Bauprozess der aktuellen Developement-Version ist allerdings etwas komplizierter geworden als zuvor. Grund dafür ist ein neuer Irrlicht Engine-Fork der für den Bau notwendig ist. Wir haben im Minetest-IRC-Kanal nachgefragt und zeigen euch anhand der erhaltenen Informationen wie man über das Terminal in den Genuss der aktuellen Developement-Version kommt.
Es geht strack aufs Terminal, öffnet daher eines.
Besitzt euer System Git? Nein? Besorgt euch Git. Beispielsweise, unter Ubuntu und Konsorten, über
sudo apt install git
Zugegeben, es geht auch ohne Git aber besorgt euch Git. Es schmerzt nicht und man wirkt wie ein echter Profihacker aus Hollywood wenn man sich Projekte via GIT zieht statt über die entsprechenden Webseite im Browser.
Jetzt manövriert ihr auf dem Terminal irgendwohin wo es nicht weh tut wenn dort plötzlich mehr Daten liegen als zuvor. Wir erstellen zu diesem Zweck stumpf einen neuen Ordner in eurem Home-Verzeichnis mit dem Namen "minetest55dev" und betreten diesen sogleich.
mkdir ~/minetest55dev cd ~/minetest55dev
mit installiertem Git bezieht man nun zwei Projekte aus dem Internet, minetest selbst und IrrlichtMT, ein Fork der Irrlicht Engine mit Anpassungen für Minetest. Falls ihr keine Lust auf Git habt müsst ihr spätestens jetzt die entsprechenden Pakete per Hand suchen und herunterladen Nutzt dazu die Links aus dem Code-Teil der nun folgt oder noch besser, nutzt einfach Git.
Einmal
git clone https://github.com/minetest/irrlicht
für den aktuellen Release von IrrlichtMT und dazu noch
git clone https://github.com/minetest/minetest
für die aktuelle Developement von Minetest.
Kurz mit ls
gegen checken ob alles geklappt hat. Ihr solltet zwei Verzeichnisse unter ~/minetest55dev haben, nämlich "irrlicht" und "minetest".
Betreten wir zuerst "irrlicht" mit
cd irrlicht
Dort angekommen, also unter ~/minetest55dev/irrlicht, lasst ihr erst cmake laufen mit
cmake . -DBUILD_SHARED_LIBS=OFF
und wenn das fehlerfrei durchgelaufen ist noch
make -j$(nproc)
cmake bereitet den Bau vor, make baut. Grob zusammengefasst.
Das verschafft euch alles an IrrlichtMT was ihr zum Bau von Minetest 5.5.0-dev braucht. Lauft ihr hier in irgendwelche Fehler, ggf. wegen fehlender Abhängigkeiten, müsst ihr je nach Meldung in eurem System nachpflegen.
Nun navigieren wir aus dem Ordner irrlicht heraus, hinein in den Ordner minetest
cd ~/minetest55dev/minetest
und fahren dort fort.
Der Bau der neuen Software funktioniert aktuell nicht, so wie früher, mit einem einfachen cmake . -DRUN_IN_PLACE=1
. Versucht man das beschwert sich der compiler über die fehlende richtige Irrlicht-Version. Wir beheben dieses Malheur indem wir einige zusätzliche Informationen, in Form von unserer eben erstellen IrrlichtMT-Version, mitgeben. Sieht dann so aus:
cmake . -DRUN_IN_PLACE=1 -DIRRLICHT_INCLUDE_DIR=~/minetest55dev/irrlicht/include/ -DIRRLICHT_LIBRARY=~/minetest55dev/irrlicht/lib/Linux/libIrrlichtMt.so
Was macht das ganze? Grob zusammengefasst
Wenn dieser Prozess fehlerfrei durchgelaufen ist, auch hier müsst ihr manuell nachsteuern falls etwas fehlt, fahrt ihr mit dem eigentlich Bau fort.
Was ein Linuxsystem so zum Bau von Minetest braucht findet ihr in unserem Holarse-Artikel zum Spiel oder in der Readme.
Der eigentliche Bau startet mit dem weiter oben schon verwendeten Befehl
make -j$(nproc)
Ist auch dieser Prozess ohne Abbruch durchgelaufen seid ihr auf der Zielgeraden. Navigiert nun noch fix via cd bin
in den binary-Ordner eures minetest-Verzeichnisses und führt hier
./minetest
aus um das Spiel zu starten.
Trivia1: Ihr müsst die neuen dynamischen Schatten noch in den Settings aktiveren. Eine entsprechend benannte Funktion findet sich dort (Dynamik Shadows).
Trivia2: Ihr müsst euch noch ein Minetest-Game herunterladen. Dies geschieht über das Hauptmenü und den Tab "Content". Hier klickt ihr auf "Browse online content" und installiert "Minetest Game".
Viel Spaß beim Ausprobieren der dynamischen Schatten.
Hat das aus dem Stand geklappt bei euch oder musstet ihr etwas anpassen? Lasst Feedback in Kommentarform hier und bereichert damit das Erlebnis aller.
Grundsätzlich ist die CMake-Syntax valide, du hast hier allerdings zweimal dasselbe geschrieben (oder ich seh beim besten Willen den Unterschied nicht).
Edit: Jetzt seh ich das S/D auch ;)
Nee nee, er hat schon recht.
Ich habe mich vertippt. Da steht/stand "cmake . -DBUILD_SHARES_LIBS=OFF".
Es läuft zwar trotzdem durch aber verursacht ein
CMake Warning: Manually-specified variables were not used by the project: BUILD_SHARES_LIBS
Das was im Text steht/stand (korrigiert), war nicht das was man im beiliegenden README.md vorfindet
Danke für das Feedback!
Soviel zum Thema "schnell und dreckig", in einem anderen Testszenario war der fehlerfreie Befehl zum Bauen von minetest nicht
cmake . -DRUN_IN_PLACE=1 -DIRRLICHT_INCLUDE_DIR=~/minetest55dev/irrlicht/include/ -DIRRLICHT_LIBRARY=~/minetest55dev/irrlicht/lib/Linux/libIrrlichtMt.so
sondern
cmake . -DRUN_IN_PLACE=1 -DIRRLICHT_INCLUDE_DIR=~/minetest55dev/irrlicht/include/ -DIRRLICHT_LIBRARY=~/minetest55dev/irrlicht/lib/Linux/libIrrlichtMt.a
Der Unterschied liegt im Bereich von -DIRRLICHT_LIBRARY, statt .so lag dort lediglich eine .a-Datei vor, welche aber klaglos, ebenso wie die.so-file am anderen Gerät, angenommen wurde.
schlägt also der Befehl im Artikel mit der Meldung
IRRLICHT_LIBRARY was set to /home/*user*/minetest55dev/irrlicht/lib/Linux/libIrrlichtMt.so but is not a valid library file. The path will not be used. Call Stack (most recent call first): CMakeLists.txt:61 (find_package) ... -- Could NOT find Irrlicht (missing: IRRLICHT_LIBRARY) CMake Error at CMakeLists.txt:63 (message): IrrlichtMt is required to build the client, but it was not found.
fehl, dann schaut mal was euch der built-prozess so nach lib/Linux/ gekegelt hat und linkt eben darauf.
Schöne Idee, dies in einem Artikel darzustellen.
In diesem Wiki kann jeder registrierte Benutzer alle Artikel bearbeiten und/oder neue Artikel anlegen. So könnt ihr über euer Lieblings-Linuxspiel berichten, oder anderen eure Tricks zukommen lassen, wie ihr ein Spiel unter Wine zum Laufen bekommen habt.
Einfach anmelden und mitschreiben!
Beachtet dazu vorher unseren Musterartikel und lest euch die Wiki-Befehle durch.
Bei Fragen stehen wir natürlich gerne im Forum oder im IRC zur Verfügung.
© 2000 - 2024 Bernd Ritter - Impressum - Datenschutz - Über uns
Alle hier verwendeten Marken- oder Firmennamen unterliegen ausschliesslich den Rechten der jeweiligen Inhaber.
Die erstellten Artikel sind zumeist von unterschiedlichen Autoren und unterliegen der CC BY-NC 2.0.
Stimmt diese Zeile?
Heisst es nicht
Gruss SF