Marble/MaemoEnvironment: Difference between revisions

    From KDE TechBase
    (git => svn)
    m (Text replace - "<code bash>" to "<syntaxhighlight lang="bash">")
    Line 5: Line 5:
    === Compiling Marble ===
    === Compiling Marble ===
    To strip down the number of dependencies, we will use the Qt-based version of Marble. The compilation requires cmake as the build system and Qt development libraries. Make sure both are installed:
    To strip down the number of dependencies, we will use the Qt-based version of Marble. The compilation requires cmake as the build system and Qt development libraries. Make sure both are installed:
    <code bash>
    <syntaxhighlight lang="bash">
    [sbox-FREMANTLE_X86: ~] > apt-get install cmake libqt4-dev
    [sbox-FREMANTLE_X86: ~] > apt-get install cmake libqt4-dev
    </code>
    </code>


    With the necessary dependencies in place we proceed to the next step, checking out the Marble source code.
    With the necessary dependencies in place we proceed to the next step, checking out the Marble source code.
    <code bash>
    <syntaxhighlight lang="bash">
    [sbox-FREMANTLE_X86: ~] > mkdir -p ~/marble/{src,build}
    [sbox-FREMANTLE_X86: ~] > mkdir -p ~/marble/{src,build}
    [sbox-FREMANTLE_X86: ~] > git clone git://anongit.kde.org/marble ~/marble/src
    [sbox-FREMANTLE_X86: ~] > git clone git://anongit.kde.org/marble ~/marble/src
    Line 16: Line 16:


    Once all files were downloaded, prepare the compilation step:
    Once all files were downloaded, prepare the compilation step:
    <code bash>
    <syntaxhighlight lang="bash">
    [sbox-FREMANTLE_X86: ~] > cd ~/marble/build
    [sbox-FREMANTLE_X86: ~] > cd ~/marble/build
    [sbox-FREMANTLE_X86: ~] > cmake -DQTONLY=ON ../src
    [sbox-FREMANTLE_X86: ~] > cmake -DQTONLY=ON ../src
    Line 22: Line 22:


    If cmake finished successfully, compile and install Marble:
    If cmake finished successfully, compile and install Marble:
    <code bash>
    <syntaxhighlight lang="bash">
    [sbox-FREMANTLE_X86: ~] > make install
    [sbox-FREMANTLE_X86: ~] > make install
    </code>
    </code>
    Line 28: Line 28:
    === Running Marble ===
    === Running Marble ===
    Some maps have to be created at the first start of Marble. Currently this is not supported for Maemo. You can copy the files from another system or start up with a map like OpenStreetMap which does not need data creation. The latter is accomplished as follows:
    Some maps have to be created at the first start of Marble. Currently this is not supported for Maemo. You can copy the files from another system or start up with a map like OpenStreetMap which does not need data creation. The latter is accomplished as follows:
    <code bash>
    <syntaxhighlight lang="bash">
    nano -w ~/.config/kde.org/"Marble Desktop Globe.conf"
    nano -w ~/.config/kde.org/"Marble Desktop Globe.conf"
    </code>
    </code>
    Line 36: Line 36:


    Execute the marble binary with the help of run-standalone.sh, a script provided by the Maemo platform to setup a working environment.
    Execute the marble binary with the help of run-standalone.sh, a script provided by the Maemo platform to setup a working environment.
    <code bash>
    <syntaxhighlight lang="bash">
    [sbox-FREMANTLE_X86: ~] > run-standalone.sh marble
    [sbox-FREMANTLE_X86: ~] > run-standalone.sh marble
    </code>
    </code>
    Marble should start up and become visible in Xephyr now. It will look like this: [[File:MarbleMaemoRouting.png]]
    Marble should start up and become visible in Xephyr now. It will look like this: [[File:MarbleMaemoRouting.png]]

    Revision as of 20:42, 29 June 2011

    Maemo SDK / Scratchbox Setup

    Developing for Maemo based devices does not mean to write software and compile on the device itself. Most of the development happens on normal desktop systems. A device like a N900 is indeed not needed: The scratchbox environment emulates it for you. Please follow the Maemo SDK Guidelines in the Maemo Wiki to setup scratchbox on your system. After package installation, follow the guide to start the SDK UI. You should end up with a scratchbox shell using the FREMANTLE_X86 target. Additionally, start the Maemo UI in Xephyr as described.

    Compiling Marble

    To strip down the number of dependencies, we will use the Qt-based version of Marble. The compilation requires cmake as the build system and Qt development libraries. Make sure both are installed: <syntaxhighlight lang="bash"> [sbox-FREMANTLE_X86: ~] > apt-get install cmake libqt4-dev

    With the necessary dependencies in place we proceed to the next step, checking out the Marble source code. <syntaxhighlight lang="bash"> [sbox-FREMANTLE_X86: ~] > mkdir -p ~/marble/{src,build} [sbox-FREMANTLE_X86: ~] > git clone git://anongit.kde.org/marble ~/marble/src

    Once all files were downloaded, prepare the compilation step: <syntaxhighlight lang="bash"> [sbox-FREMANTLE_X86: ~] > cd ~/marble/build [sbox-FREMANTLE_X86: ~] > cmake -DQTONLY=ON ../src

    If cmake finished successfully, compile and install Marble: <syntaxhighlight lang="bash"> [sbox-FREMANTLE_X86: ~] > make install

    Running Marble

    Some maps have to be created at the first start of Marble. Currently this is not supported for Maemo. You can copy the files from another system or start up with a map like OpenStreetMap which does not need data creation. The latter is accomplished as follows: <syntaxhighlight lang="bash"> nano -w ~/.config/kde.org/"Marble Desktop Globe.conf" Insert the following two lines (create the file and directory if they do not exist):

    [MarbleWidget]
    mapTheme=earth/openstreetmap/openstreetmap.dgml
    

    Execute the marble binary with the help of run-standalone.sh, a script provided by the Maemo platform to setup a working environment. <syntaxhighlight lang="bash"> [sbox-FREMANTLE_X86: ~] > run-standalone.sh marble Marble should start up and become visible in Xephyr now. It will look like this: