QMapShack & Linux Mint 18.x

Anfang Juli 2016 wurde Linux Mint 18 veröffentlicht. Mint 18 basiert auf Ubuntu 16.04 – somit entfällt das einbinden des PPAs von CMake 3.x. Seit Mitte Juli 2018 ist Qt-Version 5.5.1., welche mit Linux Mint ausgeliefert wird, zum kompilieren aber nicht mehr geeignet. Daher die Installation der Qt-Version 5.9.5 via PPA.

Die Anleitung gilt bis zum Release 1.14.1 vom 27.03.2020! Die Anleitung für Linux Mint 18.x wird nicht mehr aktualisiert, ebenfalls ist die Kommentarfunktion deaktiviert. 

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

Qt 5.9.5 PPA hinzufügen und installieren
sudo add-apt-repository ppa:beineri/opt-qt595-xenial
sudo apt-get update
sudo apt-get install qt59-meta-full

GitHub und Subversion
sudo apt-get install git subversion

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

OpenGL
sudo apt-get install freeglut3 freeglut3-dev

GDAL
sudo apt-get install gdal-bin libgdal-dev python-gdal libgdal1i

PROJ
Folgende Dateien downloaden und mit sudo dpkg -i *.deb installieren
https://packages.ubuntu.com/de/eoan/libproj-dev
https://packages.ubuntu.com/de/eoan/libproj13
https://packages.ubuntu.com/de/eoan/proj-data

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:
git clone https://github.com/Maproom/qmapshack.git QMapShack, in den Ordner
cd QMapShack wechseln und
git checkout dev ausführen und
cd .. ausführen.

Jetzt brauchen wir noch ein „build“ Verzeichnis:
mkdir build_QMapShack und mit
cd build_QMapShackccmake ../QMapShack. Die Pfade zu Qt mittels /opt/qt59/lib/cmake/ setzen!

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

Zurück in der Konsole dann noch
make ausführen und mit
sudo make install ist QMapShack installiert.

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

Um QMapShack zu aktualisieren, einfach in den Ordner /QMapShack wechseln und git pull ausführen. Neue Dateien werden mit diesem Befehl aktualisiert und zusammengeführt. Danach wieder in den Ordner /build_QMapShack wechseln und make && sudo make install ausführen.

24 Kommentare

  1. Super Anleitung, aber wie bekomme ich das Programm zum starten auf Ubuntu 16.04

  2. Hi, leider kommen bei mir ziemlich am ende der Installation nach drücken der „c“ Taste folgende 2 Meldungen:
    CMake Error at cmake/Modules/FindGDAL.cmake:85 (message):
    Could not find GDAL
    Call Stack (most recent call first):
    src/CMakeLists.txt:46 (find_package)

    Error occured during the last pass

    ich finde keine Lösung
    Franz

    1. Halo,
      die Meldung sagt, dass GDAL nicht gefunden werden kann – hast du vielleicht auf diesen Schritt vergessen?

      sudo apt-get install gdal-bin libgdal-dev python-gdal libgdal1i libgeo-proj4-perl libproj-dev

  3. Super, hat hier funktioniert DISTRIB_DESCRIPTION=“Ubuntu 16.04.2 LTS“
    qmapshack hatte allerdings libroutino nicht gefunden – daher:
    mv /usr/local/lib/libroutino* /usr/lib/x86_64-linux-gnu/

  4. Hi zusammen,
    ich scheitere an

    >>> ccmake ../QMapShack. Danach „c“

    Es kommt dann folgende Fehlermeldung:
    CMake Error at CMakeLists.txt:135 (find_package):
    By not providing „FindQt5WebEngineWidgets.cmake“ in CMAKE_MODULE_PATH this
    project has asked CMake to find a package configuration file provided by
    „Qt5WebEngineWidgets“, but CMake did not find one.

    Could not find a package configuration file provided by
    „Qt5WebEngineWidgets“ with any of the following names:

    Qt5WebEngineWidgetsConfig.cmake
    qt5webenginewidgets-config.cmake

    Add the installation prefix of „Qt5WebEngineWidgets“ to CMAKE_PREFIX_PATH
    or set „Qt5WebEngineWidgets_DIR“ to a directory containing one of the above
    files. If „Qt5WebEngineWidgets“ provides a separate development package or
    SDK, be sure it has been installed.

    Woher bekomme ich die nachgefragten Qt5WebEngineWidgets?
    Habe diverse Qt5* files, aber keins mit Qt5Web…
    Danke schön
    Das Update auf Mint 19 wollte ich mir sparen.
    Viele Grüße
    Jochen

    1. Halo Jochen,

      Du musst deine Qt Version zuerst aktualisieren (mindestens > 5.8 ist der momentane Stand). Ich habe jetzt die Anleitung aktualisiert. Solltest du noch Probleme haben, dann melde dich.

      Lg,
      Emi

  5. Hallo Emi,
    vielen Dank für die detailierte Anleitung. Funktioniert bei mir auch soweit. Allerdings glaube ich einen Copy/Paste-Fehler entdeckt zu haben. Mit „export LD_LIBRARY_PATH=/opt/qt55/lib/:$LD_LIBRARY_PATH“ konnte ich QMS nicht starten. Wenn ich allerdings den Pfad auf qt59 angepasst habe funktionierte es.
    Vielen Dank nochmal für die Mühe die du dir gemacht hast.

    beste Grüße

    Robert

  6. Hallo,

    bei mir funktioniert die Installation der Qt-Version 5.9.5 via PPA nicht.
    Nach: sudo apt-get qt59-meta-full, zeigt mir das Terminal: E: Ungültige Operation qt59-meta-full an, und komme somit nicht weiter.
    Leider bin ich in Linux nicht so bewandert um das Problem selbst zu lösen.

    1. Halo Frank,

      Es fehlt der Befehl install:
      sudo apt-get install qt59-meta-full

      Anleitung ist korrigiert!

      Lg

  7. Hallo Emi,

    erst mal danke für die Anleitung. Ich habe leider ein Problem. Und zwar nach der **ccmake ../QMapShack** Eingabe.

    CMake Error: The source directory „QMapShack“ does not exist.
    Specify –help for usage, or press the help button on the CMake GUI.

    Hast du eine Idee was da schief gelaufen ist?
    Danke schon mal.

    1. Den Fehler habe ich behoben.
      Jetzt habe ich den gleichen Fehler wie Jochen:

      CMake Error at CMakeLists.txt:127 (find_package):
      By not providing „FindQt5Widgets.cmake“ in CMAKE_MODULE_PATH this project
      has asked CMake to find a package configuration file provided by
      „Qt5Widgets“, but CMake did not find one.

      Could not find a package configuration file provided by „Qt5Widgets“ with
      any of the following names:

      Qt5WidgetsConfig.cmake
      qt5widgets-config.cmake

      Add the installation prefix of „Qt5Widgets“ to CMAKE_PREFIX_PATH or set
      „Qt5Widgets_DIR“ to a directory containing one of the above files. If
      „Qt5Widgets“ provides a separate development package or SDK, be sure it has
      been installed.

      QT Version habe ich nach deiner Anleitung aktualisiert.

      Eine Idee was der Fehler sein könnte?

      1. Halo,
        Hast du alle Pfade zu Qt gesetzt – also auf /opt/qt59/lib/cmake/Qt…

        Jochen hatte das Problem mit Qt5WebEngineWidgets. Du musst mindestens Qt 5.9 installiert haben – siehe Punkt 2 der Anleitung.

        Lg

        1. Wie genau setzte ich die Pfade?
          Wenn ich /opt/qt59/lib/cmake eingebe, steht im Terminal, dies ist ein Verzeichnis.
          Ich habe mich genau an die Anleitung gehalten.

          1. Halo,
            die Pfade setzt du so:

            Starte den Terminal, wechsle in das Verzeichnis build_QMapShack und gib folgendes ein: ccmake ../QMapShack .

            Jetzt suchst du die Zeilen in der linken Spalte; in der rechten Spalte ist der Pfad, den du vervollständigen musst:

            Qt5Core_DIR –> /opt/qt59/lib/cmake/Qt5Core
            Qt5DBus_DIR –> /opt/qt59/lib/cmake/Qt5DBus
            Qt5Gui_DIR –> /opt/qt59/lib/cmake/Qt5Gui
            Qt5LinguistTools_DIR –> opt/qt59/lib/cmake/Qt5LinguistTools
            Qt5Network_DIR –> /opt/qt59/lib/cmake/Qt5Network
            Qt5Positioning_DIR –> /opt/qt59/lib/cmake/Qt5Positioning
            Qt5PrintSupport_DIR –> /opt/qt59/lib/cmake/Qt5PrintSupport
            Qt5Qml_DIR –> /opt/qt59/lib/cmake/Qt5Qml
            Qt5Quick_DIR –> /opt/qt59/lib/cmake/Qt5Quick
            Qt5Sql_DIR –> /opt/qt59/lib/cmake/Qt5Sql
            Qt5UiTools_DIR –> /opt/qt59/lib/cmake/Qt5UiTools
            Qt5WebChannel_DIR –> /opt/qt59/lib/cmake/Qt5WebChannel
            Qt5WebEngineCore_DIR –> /opt/qt59/lib/cmake/Qt5WebEngineCore
            Qt5WebEngineWidgets_DIR –> /opt/qt59/lib/cmake/Qt5WebEngineWidgets
            Qt5Widgets_DIR –> /opt/qt59/lib/cmake/Qt5Widgets
            Qt5Xml_DIR –> /opt/qt59/lib/cmake/Qt5Xml

            Screenshot

            Danach bitte der Beschreibung weiterfolgen:
            zuerst „c“: Press [c] to configure
            dann „g: Press [g] to generate and exit

            Lg,

  8. Danke für deine Hilfe.
    Bei mir steht im Terminal nur

    BIN_INSTALL_DIR /usr/local/bin
    BUILD_FOR_LOCAL_SYSTEM OFF
    BUILD_QMAPSHACK ON
    BUILD_QMAPTOOL ON
    CMAKE_BUILD_TYPE RelWithDebInfo
    CMAKE_INSTALL_PREFIX /usr/local
    DATA_INSTALL_DIR /usr/local/share
    DATA_INSTALL_PREFIX /usr/local/share
    EXEC_INSTALL_PREFIX /usr/local
    HTML_INSTALL_DIR /usr/local/share/doc/HTML
    ICON_INSTALL_DIR /usr/local/share/icons
    INCLUDE_INSTALL_DIR /usr/local/include
    INFO_INSTALL_DIR /usr/local/share/info
    KEEP_OLD_TRANSLATIONS ON
    LIBEXEC_INSTALL_DIR /usr/local/libexec
    LIB_INSTALL_DIR /usr/local/lib
    LIB_SUFFIX
    LOCALE_INSTALL_DIR /usr/local/share/locale
    MAN_INSTALL_DIR /usr/local/share/man
    PLUGIN_INSTALL_DIR /usr/local/lib/qmapshack
    Qt5Widgets_DIR Qt5Widgets_DIR-NOTFOUND
    SBIN_INSTALL_DIR /usr/local/sbin
    SHARE_INSTALL_PREFIX /usr/local/share
    SOUND_INSTALL_DIR /usr/local/share/sounds
    SYSCONF_INSTALL_DIR /usr/local/etc
    UPDATE_TRANSLATIONS OFF
    USE_QT5DBus ON
    XDG_APPS_DIR /usr/local/share/applications
    XDG_DIRECTORY_DIR /usr/local/share/desktop-directories

    Bei der Qt5Widgets_DIR, steht bei mir DIR-NOTFOUND. Ne Idee? Oder alles nochmal sauber neu installieren?

    1. Halo,
      Drücke zuerst „t“ (siehe Screenshot) – dann wird der erweiterte Modus gestartet. Bewege den Cursor mit den Pfeiltasten in die Zeile Qt5Widgets_DIR Qt5Widgets_DIR-NOTFOUND , dann drückst du ENTER. Jetzt kannst du den Pfad eingeben.

      Die Installation hast du noch vor dir 😉 .

      Lg

  9. Hey Emi,

    danke für deine Hilfe. Jetzt habe ich es soweit hin bekommen und es installieren können. So weit, so gut.
    Leider kann ich QMapShack nirgends finden und wenn ich den Befehl, qmapshack, in den Terminal eingebe, bekomme ich die Antwort,

    qmapshack
    qmapshack: error while loading shared libraries: libQt5WebEngineWidgets.so.5: cannot open shared object file: No such file or directi

    Leider kann ich keinen Screenshot einfügen, aber so schaut es bei mir jetzt aus.

    Qt5Core_DIR /opt/qt59/lib/cmake/Qt5Core
    Qt5DBus_DIR /opt/qt59/lib/cmake/Qt5DBus
    Qt5Gui_DIR /opt/qt59/lib/cmake/Qt5Gui
    Qt5LinguistTools_DIR /opt/qt59/lib/cmake/Qt5LinguistTools
    Qt5Network_DIR /opt/qt59/lib/cmake/Qt5Network
    Qt5Positioning_DIR /opt/qt59/lib/cmake/Qt5Positioning
    Qt5PrintSupport_DIR /opt/qt59/lib/cmake/Qt5PrintSupport
    Qt5Qml_DIR /opt/qt59/lib/cmake/Qt5Qml
    Qt5Quick_DIR /opt/qt59/lib/cmake/Qt5Quick
    Qt5Sql_DIR /opt/qt59/lib/cmake/Qt5Sql
    Qt5UiTools_DIR /opt/qt59/lib/cmake/Qt5UiTools
    Qt5WebChannel_DIR /opt/qt59/lib/cmake/Qt5WebChannel
    Qt5WebEngineCore_DIR /opt/qt59/lib/cmake/Qt5WebEngineCore
    Qt5WebEngineWidgets_DIR /opt/qt59/lib/cmake/Qt5WebEngineWidgets
    Qt5Widgets_DIR /opt/qt59/lib/cmake/Qt5Widgets
    Qt5Xml_DIR /opt/qt59/lib/cmake/Qt5Xml

    Soweit alles OKAY?

    Bei deiner Darstellung der Pfade, hast du bei, Qt5LinguistTools_DIR, den Slash vor dem opt vergessen. 😉

    1. Halo,
      dir fehlt noch der letzte Schritt; bemühe noch einmal den Terminal

      export LD_LIBRARY_PATH=/opt/qt59/lib/:$LD_LIBRARY_PATH

      Steht auch im letzten Absatz der Anleitung. Den fehlenden Slash ist der ENTF Taste geschuldet ;-).

      Lg

  10. Kuul, ich habs zum laufen gebracht. Danke.

    Jetzt nur noch eine Kleinigkeit.
    Wenn ich QMapShack über das Menü starten möchte. Tut sich nichts. Wenn ich es über das Terminal starte kommt die Meldung, die vorgegebene XML-Profildatei konnte nicht geladen werden und den Befehl, export LD_LIBRARY_PATH=/opt/qt59/lib/:$LD_LIBRARY_PATH, muss ich auch immer neu eingeben.
    Aber danach läuft es. Hast du noch eine Idee was da los ist?

    1. Halo,
      das ist natürlich nicht praktikabel. Um den Link permanent zu setzen, starte den Terminal und gib folgendes ein: sudo nano /etc/ld.so.conf.d/libc.conf

      Füge die Zeile /opt/qt59/lib ein und speicher die Datei.
      Danach im Terminal sudo ldconfig eingeben, um die Änderungen zu laden.

      Komisch, ich kann mich gar nicht erinnern, ob ich den Link – und wenn wie – gesetzt habe. Aber egal.
      Wegen der Profildatei kann ich dir jetzt aber nichts sagen.

      Lg,

      Screenshot

Kommentare sind geschlossen.