QMapShack & Linux Mint 17.x

Mittlerweile ist Linux Mint bei 17.3 angekommen, QMapShack steht bei Version 1.6.0 (Stand März 2016) – höchste Zeit also, um auch hier aufzuräumen.
Wer am aktuellen Entwicklungsstand gerne teilhaben möchte, bei dem ist selber kompilieren angesagt. Hier nun eine aktuelle Anleitung:

CMake 3.x PPA & Qt 5.5.1 PPA hinzufügen
sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo add-apt-repository ppa:beineri/opt-qt551-trusty
Danach sudo apt-get update ausführen, damit die Paketquelle in das System eingebunden wird.

Cmake & g++ installieren:
sudo apt-get install cmake g++ cmake-curses-gui

Qt 5.5.1 installieren:
sudo apt-get install qt55-meta-full

Mercurial und Subversion
sudo apt-get install subversion mercurial

C-Compiler, Make und andere benötigte Abhängigkeiten
sudo apt-get install gcc make libc6-dev libz-dev libbz2-dev libgraphics-magick-perl

OpenGL
sudo apt-get install freeglut3 freeglut3-dev

GDAL & Proj4
sudo apt-get install gdal-bin libgdal-dev libgdal1h python-gdal libproj-dev

QuaZip
sudo apt-get install libquazip5-headers libquazip5-1 libquazip5-dev

Zuerst installieren wir Routino:
svn co http://routino.org/svn/trunk routino
cd routino
make
sudo make install

Und jetzt holen wir uns QMapShack, direkt aus dem aktuellen Entwicklungsstrang:
hg clone https://bitbucket.org/maproom/qmapshack QMapShack

Jetzt brauchen wir noch ein „build“ Verzeichnis:
mkdir build_QMapShack und mit
cd build_QMapShack

wechseln wir in den Ordner in den soeben erstellte Verzeichnis. Mit folgendem Befehl setzen wir nun zum ersten Schritt an:

ccmake ../QMapShack. Jetzt noch die Pfade zu Qt mittels /opt/qt55/lib/cmake/ setzen

Danach „c“ und „g“ ausführen.

Zurück in der Konsole dann noch
make und
sudo make install

ausgeführt, und QMapShack ist installiert.

Sollte QMS beim Start aus der Konsole qmapshack: error while loading shared libraries: libQt5Script.so.5: cannot open shared object file: No such file or directory ausspucken, dann ist folgendes zu machen:
export LD_LIBRARY_PATH=/opt/qt55/lib/:$LD_LIBRARY_PATH und danach qmapshack.

Sollte dann auch noch qmapshack: error while loading shared libraries: libroutino.so.0: cannot open shared object file: No such file or directory beim Start ausgeworfen werden, müssen noch die zwei unten angeführten Dateien in den Ordner /usr/lib kopiert werden:
sudo cp /usr/local/lib/libroutino.so /usr/lib/
sudo cp /usr/local/lib/libroutino.so.0 /usr/lib/


Um ein immer aktuelles QMS zu haben, einfach in den Ordner /QMapShack wechseln und hg pull && hg update ausführen. Neue Dateien werden mit diesem Befehl aktualisiert und zusammengeführt. Danach wieder in /build_QMapShack wechseln und make && sudo make install ausführen.

QMapShack steht seit März 2015 auch als Binary zur Verfügung:

https://ftp.mpi-sb.mpg.de/pub/mirrors/linux/debian/pool/main/q/qmapshack/ oder

https://packages.debian.org/jessie-backports/science/qmapshack

Linux Mint

QMapShack

QMS aus dem Repository

altersachse.de

Nathan Osman CMake 3.x PPA

Paketquellen freischalten

52 Gedanken zu “QMapShack & Linux Mint 17.x

  1. Super, sehr hilfreich. Aber mit hg update habe ich folgendes Problem

    Abbruch: Kann Arbeitsverzeichnis von /home/reinhard/QMapShack nicht sperren: Permission denied

    hg pull bringt keine Probleme.

    Irgendeine Idee?

    Die Installation läuft unter XUBUNTU 14.04 lts

  2. Habe es selbst gefunden.

    Wenn ich den Befehl hg pull && hg update durch die beiden Befehle

    sudo hg pull
    sudo hg update

    ersetze funktioniert es.

    Noch einmal DANKE für die tolle Beschreibung

  3. es wäre schön wenn sich mit diesem program auch gps uhren von polar auslesen lassen würden! Gibs da ne möglichkeit unter ubuntu?

    gruss
    simon

  4. Beim Compile per make von QMapShack kommt jetzt folgender Fehler:

    Could not find ROUTINO

    Ich habe routino per Synaptic installiert. Der Fehler bleibt.

    Hast Du eine Idee, was hier falsch ist?

      • Halo Emi,

        die Seite ist wieder Online. Ich habe Routino aus SVN (wie in der Mailingslist beschrieben) runtergeladen und nach /usr/share/routino verschoben.

        Die Fehlermeldung bleibt und jetzt weiss ich nicht mehr weiter.

        • Halo,
          ich habe es geschafft:
          überprüfe, ob du routino von hier hast:
          svn co http://routino.org/svn/branches/libroutino/ routino

          Danach wechselst du in den Ordner „routino“ und führst make und sudo make install. Jetzt wird die wichtige libroutino.so erstellt.
          In ccmake kannst du noch die Pfandeingaben überpfrüfen – aktiviere den Togglemodus („t“). Sieht bei mir so aus.

          LIBROUTINO_LIBRARY /usr/local/lib/libroutino.so
          ROUTINO_INCLUDE_DIR /usr/local/include
          ROUTINO_XML_PATH /usr/local/share/routino

          Danach wollte QMS nicht starten – noch den Tipp von kiozen befolgt; bei mir war es der ordner /usr/lib/, also ohne 64
          And you have to copy src/routino.h to /usr/include and src/libroutino.so to /usr/lib64

          NACHTRAG: den Ordner „routino“ nicht nach usr/share/routino verschieben!

          Viel „Glück“!

  5. Hallo,

    QMS sucht die Dateien in ‚/usr‘ und nicht in ‚/usr/local‘.

    Einfach vor dem compilieren die Zeile 48 der Datei ‚Makefile.conf‘ in prefix=/usr‘ ändern. Dann entfällt das Kopieren der oben genannten Dateien, wofür man root-Rechte braucht.

    BS: Ubuntu 15.04

  6. Hallo Emi,

    Danke für die Beschreibung. Bei mir fehlte für den Compile von Routino noch libbz2-dev. Das habe ich dann nachinstalliert und mit Deiner Beschreibung hat es dann geklappt.

    QMS bringt jetzt bei Start eine Fehlermeldung: „The specified profiles XML file did not exist“. Wenn ich die Übergehe funktioniert es trotzdem.

  7. Leider war mein Kommentar voreilig. Ich kann zwar QMS aufrufen, aber ich kann keine Routino-DB anlegen oder hinzufügen. Wahrscheinlich stimmen meine Pfad-Angaben nicht, da Oliver (lt. Mailingliste) dort Änderungen vorgenommen hat und ich gerade nicht mehr blicke, welche Routino Daten wo zu liegen haben.

    • Halo,
      ich würde einfach nochmal von vorne beginnen (falls du es nicht schon so gemacht hast): also die aktuelle Version aus dem Repo holen und NEU kompilieren; kiozen hat da heute noch rumgebastelt.

      Ich habs am gerade am Nachmittag bei einer frischen Linux Mint Installation probiert (Regenwetter!)
      1. svn co http://routino.org/svn/branches/libroutino/ routino
      2. sudo apt-get install gcc make libc6-dev libz-dev libbz2-dev libgraphics-magick-perl
      3. danach make und sudo make install

      Dann QMS kompiliert, wie gehabt. Ich musste auch keine Pfade mehr ändern oder irgendwelche Dateien rumkopieren.

  8. Danke für die Info. Ich habe dann auch das Regenwetter genutzt und Routino neu aufgesetzt. Ich musste allerdings händisch den Ordner /usr/share/routino anlegen und dorthin /usr/local/share/routino kopieren, damit ich Routino in QMS nutzen konnte.

    Ohne dass ging es nicht.

  9. QMS benötigt jetzt QT 5.5. Ich habe Xubuntu 12.04 LTS und trotzt intensiver Suche habe ich keinen Weg gefunden um QT 5.5 zu installieren.
    Weiss jemand einen Weg.

  10. Ich sitze auch schon das ganze WE und bekomme das kompilieren im Moment nicht hin.
    Hatte mein Mint auch etwas in Mitleidenschaft gezogen und musste neu aufsetzen, jetzt werde ich das ganze erst mal im VMPlayer testen.
    Das andauern die Bedingungen nach oben gesetzt werden finde ich schon etwas störend, vor allem weil die meisten Linuxe nicht die neusten Pakete haben.
    Hab jetzt erst mal das Paket QT5.5 geholt http://download.qt.io/official_releases/qt/5.5/5.5.0/
    Gruß

  11. Hallo Emi,

    Danke für die Info.
    Meine Programmierkenntnisse sind nur sehr rudimentär. Ist es richtig, dass die Anpassungen für ccmake nur die Datei CMakeCache.txt und dort die Pfade für QT5 betreffen
    z.B. //The directory containing a CMake configuration file for Qt5Core.
    Qt5Core_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5Core
    und danach ccmake ../buildxxx neu aufrufen.

    Ich teile auch die Meinung von AlterSachse, dass man in einem laufendem Projekt nicht die Bedingungen so stark ändern sollte.

    Gruss

    • Ja, so kannst du es auch machen – ich nehme den Weg über ccmake und korrigiere so die Pfade.
      Die Bedingungen sind gestiegen, keine Frage – aber hier ist der falsche Platz, um darüber zu diskutieren.

  12. Hallo Emi,

    Danke für den Tip. Der CMAKE Editor hat mich zur Weissglut getrieben. Ich habe dann die CMAKE-GT-GUI installiert und damit ging es dann. Nach erfolgreichem Compile habe ich dann die gleiche Fehlermeldung wie Du bekommen.
    (QT_MESSAGE_PATTERN: Unknown placeholder %{time yyyy-MM-dd h:mm:ss.zzz}
    qmapshack: symbol lookup error: qmapshack: undefined symbol: _ZN6QDebug9putStringEPK5QCharm)

    Ich habe Oliver eine Mail geschrieben und warte mal auf die Anwort.

    Grüsse

  13. Hallo Emi,

    ich habe das Problem mit Hilfe von Oliver gelöst.

    QT verlangt bei der Ausführungen die Run-timeLinker Libraries von der gleichen Version, die auch beim Compile verwendet wurden.

    Ich habe das wie folgt gelöst:

    In der Konsole folgenden Befehl eingeben:
    export LD_LIBRARY_PATH=/home/reinhard/Qt5.4.0/5.4/gcc_64/lib/:$LD_LIBRARY_PATH
    dann in der gleichen KonsolSession QMS aufrufen, da dieser Export Befehl nur für die laufende Konsole gilt.

    Die Fehlermeldung QT_MESSAGE_PATTERN: Unknown placeholder kannst Du ignorieren.

    Gruss

  14. HI Emi,
    Danke für dein Update das Oliver wieder die Qt5.2 nimmt.
    War gestern schon am verzweifeln als ich QMS auf meinen Hauptrechner aufgesetzt habe. Im VMPlayer ging vorige Woche noch alles und als ich es 1:1 auf den Rechner umsetzen wollte wieder lauter Fehlermeldung. Hab dann hier nachgeschaut und die Lösung mit Qt5.2 gefunden.
    Daraufhin hab ich auch meine Webseite wieder überarbeitet und eine neue Anleitung verfasst.
    Schönes WE noch, Gruß

    • Hallo,
      Danke für dein Feedback. In der Mailingliste war das ja eine Diskussion, welche Qt Version vorausgesetzt wird. Kiozen favorisiert eindeutig die 5.4 bzw 5.5. 5.2 ist ja auch schon in die Jahre gekommen.

      Grüße,

  15. Guten Tag

    Linux Mint 17.3
    Ich habe bisher qLandkarteGT benützt. Weil die Anwendung offensichtlich nicht mehr weiterentwickelt wird und auf die entsprechenden Empfehlungen hin versuche ich nun qMapSack zu installieren. Bisher leider erfolglos.

    Die Anleitung von Emanuel konnte ich umsetzen bis „Routino“. Die Seite ist nicht erreichbar.
    Auch der Hinweis von teleskopix bringt mich nicht weiter. Das Paket erwartet eine Version von „libqt5core5a“ welche für die Distribution nicht verfügbar ist. Ich habe zwar noch versucht, eine neuere Version von qt5 zu installieren. War bisher aber auch nicht erfolgreich. Wenn ich es richtig interpretiere, gibt es da eine gegenseitige Abhängigkeit zwischen „libqt5core5a“ und „libqt5widgets5“, die zu überwinden mir bisher nicht gelungen ist.

    Liebe Grüsse
    Markus

    • Halo Markus,
      zu Routino: die Seite http://routino.org/ ist schon seit einigen Tagen nicht erreichbar. Oder hier downloaden: http://ftp.uni-kassel.de/ubuntu/ubuntu/pool/universe/r/routino/routino_3.0.orig.tar.gz (Quellcode)

      zu Qt: mit meiner Anleitung wird 5.2 installiert, welche in den Paketquellen von Linux Mint 17.3 enthalten ist. Für Qt braucht es diese Zeile
      sudo apt-get install qttools5-dev-tools qttools5-dev qttools5-private-dev qt5-default libqt5webkit5-dev qtscript5-dev – kopieren und in die Konsole einfügen. Zu den Paketen, die teleskopix meint, kann ich dir leider nichts sagen, da ich mir QMS selbst kompiliere.

      Schau noch beim Alten Sachsen vorbei, vielleicht hilft’s: http://altersachse.de/50-linux/qms/mint.php

      Schönen Abend noch,
      Emi

      • Danke Emi

        Routino ist inzwischen wieder erreichbar. Trotzdem war ich noch nicht erfolgreich. Dasselbe beim alten Sachsen. Bei „ccmake…“ und „c“ erhalte ich eine Fehlermeldung:


        CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreMacros.cmake:224 (configure_file):
        configure_file called with unknown argument(s):

        COPY_ONLY

        Call Stack (most recent call first):
        src/CMakeLists.txt:608 (qt5_add_resources)
        This warning is for project developers. Use -Wno-dev to suppress it.

        Dann ist nur noch „e“ (exit) möglich. „g“ zwar anschliessend auch noch, aber cmake stirbt in diesem Fall oder wird geschlossen respektive „q“ (quit) (anstelle von „g“)

        Vielen Dank für Deine Unterstützung und alles Gute zum Jahreswechsel.

        Gruss Markus

          • Danke Emi

            Ich habe mich nicht getraut einfach weiterzufahren, weil ich geglaubt habe, es funktioniere etwas nicht wie vorgesehen. Ich habe das jetzt getan und „QMapShack“ ist installiert. Zwar wird beim Start in der Konsole noch eine Fehlermeldung angezeigt (QT_MESSAGE_PATTERN: Unknown placeholder %{time yyyy-MM-dd h:mm:ss.zzz}), ist aber wahrscheinlich unbedeutend. Die Anwendung startet auf jeden Fall und ich werde mich später damit auseinandersetzen.

            Vielen Dank für die Unterstützung.

            Liebe Grüsse
            Markus

  16. Hello
    following the installation procedure, I have the following error after the command „ccmake ../QMapShack“ :

    CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake:27
    (message):
    The imported target „Qt5::Core“ references the file

    „/usr/lib/x86_64-linux-gnu/qt5/bin/moc“

    but this file does not exist. Possible reasons include:

    * The file was deleted, renamed, or moved to another location.

    * An install or uninstall procedure did not complete successfully.

    * The installation package was faulty and contained

    „/usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfigExtras.cmake“

    but not all the files it references.

    Could you help me to solve the problem?

    • Hello,
      maybe you should try to re-install your Qt5 installation. If you are using the version delivered with Linux Mint 17.x try again sudo apt-get install qttools5-dev-tools qttools5-dev qttools5-private-dev qt5-default libqt5webkit5-dev qtscript5-dev

      Regards,

  17. Hallo Emi,
    zunächst vielen Dank für die Anleitung!
    Bin absolut kein Experte, also sorry für dumme Fragen…

    Beim ccmake ../QMapShack und snschließendem „C“ bekomme ich die Meldung „CMAKE 3.0 or higher reqired, version 2.8 is running“
    Der
    sudo add-apt-repository ppa:george-edison55/cmake-3.x
    ist gelaufen. Wieso läuft da die 2.8?
    Danke & Gruß
    carsten

    • Halo Carsten,
      kann es sein, dass du auf sudo apt-get update vergessen hast? Jetzt noch sudo apt-get upgrade ausführen.
      Danach sollte Cmake 3.x zur Verfügung stehen.

      Grüße,

      • Hi Emi,
        … das kann gut sein…
        Hab’s nochmal von vorn probiert, funzt nun, nachdem ich das komplette QMapShack-Verzeichnis vorher entfernt habe.
        Tausend Dank!
        carsten

  18. SUPER – VIELMALS DANKE..
    …für diese Schrit für Schritt Anleitung!
    Hat wunderbar funktioniert bei mir mit Linux Mint 17.1
    Vielen Dank

  19. Hallo, hat schon jemand unter Ubuntu 16.04 Qmapshack mit Binärpaket von https://ftp.mpi-sb.mpg.de/pub/mirrors/linux/debian/pool/main/q/qmapshack/ (https://ftp.mpi-sb.mpg.de/pub/mirrors/linux/debian/pool/main/q/qmapshack/qmapshack_1.6.1-2~bpo8+1_amd64.deb) installiert bekommen?
    Laut wiki.ubuntuusers.de sollte folgendes funktionieren:
    sudo apt install /PFAD/ZUR/PAKETDATEI.deb
    (https://wiki.ubuntuusers.de/Paketinstallation_DEB/). Oder muss auf alle Fälle wie hier beschrieben selbst kompiliert werden?

  20. Pingback: QMapShack, ein Nachfolger für QLandkarteGT 【ツ】 By Schrottie 【ツ】 Altmetall

  21. Hallo Emi,
    tolle Anleitung!! Genau das, was ich suche. Jedoch gibt es von Linux Mint zwei Linien:
    – die sog. Hauptausgabe, die auf Ubuntu aufsetzt (GNU > Debian > Ubuntu > Linux Mint)
    – und eine zweite Ausgabe, die direkt auf Debian aufsetzt (GNU > Debian > Linux Mint)
    Letzteres ist die sog. LMDE (Linux Mint Debian Edition).
    Auf welche Ausgabe stellt Deine Installationsanleitung ab?

    Ich habe gerade ein Netbook (HP 5103 mit Dual-Core Atom-CPU) neu aufgesetzt mit Mint LMDE. Zuvor hatte ich das unter „elementary OS“ laufen; ein Betriebssystem im OS X-Look, das wie Mint auf Ubuntu aufsetzt. Hübsche Implementierung, aber zu gekapselt, nicht richtig zu Ende gedacht. Daher habe ich mich für einen Neuaufbau mit Mint LMDE entschieden, da eine Ebene weniger, also näher an der Maschine.

    Jetzt würde ich gerne QMapShack installieren. Allerdings ist bei Debian, da weniger „kommerziell“, das Angebot deutlich kleiner als bei Ubuntu, worauf die Hauptausgabe von Mint ja letztlich zurückgreift. Das „Software Center“ hat nur eine Version 0.6.0-1 gelistet. Bei Ubuntu 16.04 LTS das ich auf einem Desktop nutze habe ich aus dem Software Center 1.5.1 installiert. Aktuell ist wohl irgend was um die 1.7.

    Funktioniert Deine Anleitung auch für die LMDE-Ausgabe?
    Würde mich über einen Tipp freuen. Es stehen vier Wochen Namibia an.

    Grüsse, Ulrich

  22. Halo Ulrich,
    die Anleitung ist für die Hauptausgabe. Bei Linux Mint LMDE 2 kannst du kein Repository einbinden; überprüfe zuerst, welche Qt und Cmake Version du installiert hast. LMDE 2 basiert auf Debian Jessie; wenn ich richtig recherchiert habe, kommt Jessie mit Qt 5.3.2 daher, die Mindestanforderung ist aber Version 5.4. Dann musst du Qt aber selber installieren – https://www.qt.io/download/ – hier gibt es Linux Installer.

    Cmake ist in der Version 3.0.2 vorhanden, sollte also passen.

    Die Anleitung sollte – bis auf das Einbinden der PPAs – passen.

    Grüsse,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.