Moin,
ich habe nach tagelangen rumfummeln endlich mal wieder RTTR unter Linux zum laufen gebracht. Ich würde gerne ein paar Sachen hier zur Diskussion stellen. Ich weiß, eigentlich sollen "Bugs" bei Launchpad rein, aber 1. scheinen die Tickets dort eher zu versacken (siehe
https://bugs.launchpad.net/s25rttr/+bug/1189145 ) und 2. ist das Problem hier grade sehr vielschichtig. Ich möchte kurz erläutern was ich alles machen musste, um es zum laufen zu kriegen:
Erstmal habe ich das AUR paket von mineo übernommen:
https://aur.archlinux.org/packages/rttr-bzr/
Das ist das Arch User Repository wo jeder Scripte zum installieren von Paketen anbieten kann.
Das ist das letztendlich funktionierende Install-Script:
https://aur.archlinux.org/packages/rt/rttr-bzr/PKGBUILD
Die Probleme liegen unter "#Fix CMakeLists"
1. in s-c/src/CMakeLists.txt Zeile 10-12 soll ein Script ausgeführt werden, falls es sich um Windows handelt. Bei Linux wird das zwar nicht ausgeführt, aber für cmake sind eckige Klammern [] nicht erlaubt in den CMakeLists und daher bricht cmake immer ab (cmake version 3.0.0).
2. das gleiche wie (1) in s-c/resample-1.8.1/src/CMakeLists.txt Zeile 9-11
3. das gleiche wie (1) in s25update/src/CMakeLists.txt Zeile 57-59
Kurze Zwischenfrage? Muss das wirklich an drei Stellen auftauchen? Ich muss das jedenfalls erstmal vor dem kompilieren überall rauslöschen. Könnte man das in Zukunft in ein extra Skript auslagern?
4. Dann das FindLua() Skript in src/CMakeLists.txt irgendwo bei Zeile 470ff. Wenn es Lua nicht findet, setzt es den Pfad hart auf /usr/lib/liblua52.so - das funktioniert vlt unter Ubuntu, aber unter Archlinux heißt das Teil einfafch /usr/lib/liblua.so ohne Versionsnummer. Ich hatte dies auch schonmal hier kommentiert:
https://bugs.launchpad.net/s25rttr/+bug/1189145/comments/7 - das ist zwar nicht elegant, aber wenn er dann LUA_LIB immernochnicht gefunden hat, dann setzt er den Pfad hart auf /usr/lib/liblua.so - works for me!
5. Das Skript in build/postinstall.sh.cmake macht irgenwas ganz merkwürdiges in Zeile 302ff. Könnt ihr mir erklären warum es in /usr/lib rumpfuscht, auch wenn ich noch gar nichts installiert habe? Das wird durch cmake getriggert, also noch beim kompilieren, noch VOR dem installieren, aber es setzt symlinks tief in meinem system, ohne, dass ich das erlaubt habe (sowas soll erst bei make install oder so passieren)... Jedenfalls gab es da immer konflikte und ich musste das rauslöschen. Weiß aber nicht, wie sich das verhält wenn ich es jetzt nochmal sauber installieren will. Kann man das optimierien vlt?
Vielen Dank für dieses geile Spiel, ich hoffe ihr könnt mir helfen, dass diese punkte in zukunft optimiert werden.
LG
qpx / vertoe