User:Zintor

From Navit's Wiki
Jump to: navigation, search

Navit on Jolla Icon-SailfishOS.svg

These are the instructions to get Navit running on Jolla with SailfishOS.
You have the choice to get the ready compiled version from openrepos or build by yourself.

Installing ready compiled Navit on openrepos

https://openrepos.net/content/metalstrolch/navit

Compiling latest version from github

The procedure is tested on Ubuntu 16.04 LTS

SailfishOSSDK-Beta-1611-Qt5

I assume, that Sailfish SDK is installed. Virtual machines 'Sailfish SDK' and 'MerSDK' are running.

Step 1 - Compiling in Sailfish SDK

Clone the sources from Github to your home directory

cd ~
git clone https://github.com/navit-gps/navit.git

Connect to mer sdk

ssh mersdk@localhost -p 2222 -i ~/SailfishOS/vmshare/ssh/private_keys/engine/mersdk

Now, we are logged in the Sailfish SDK.
Install dependencies
arm7hl is for installing at your Jolla

sb2 -t SailfishOS-armv7hl -m sdk-install -R zypper in cmake glib2-devel gettext-devel qt5-qtmultimedia-gsttools qt5-qtmultimedia-plugin-mediaservice-gstaudiodecoder qt5-qtmultimedia-plugin-mediaservice-gstcamerabin qt5-qtmultimedia-plugin-mediaservice-gstmediaplayer qt5-qtmultimedia-plugin-resourcepolicy-resourceqt qt5-qtmultimedia-plugin-audio-alsa qt5-qtmultimedia-plugin-playlistformats-m3u qt5-qtmultimedia-plugin-audio-pulseaudio qt5-qtmultimedia-plugin-mediaservice-gstmediacapture

i486 is for running in SDK

sb2 -t SailfishOS-i486 -m sdk-install -R zypper in cmake glib2-devel gettext-devel qt5-qtmultimedia-gsttools qt5-qtmultimedia-plugin-mediaservice-gstaudiodecoder qt5-qtmultimedia-plugin-mediaservice-gstcamerabin qt5-qtmultimedia-plugin-mediaservice-gstmediaplayer qt5-qtmultimedia-plugin-resourcepolicy-resourceqt qt5-qtmultimedia-plugin-audio-alsa qt5-qtmultimedia-plugin-playlistformats-m3u qt5-qtmultimedia-plugin-audio-pulseaudio qt5-qtmultimedia-plugin-mediaservice-gstmediacapture

create directory 'rpmbuild' /home/src1/

mkdir /home/src1/rpmbuild

go to the directory '/home/src1/navit/contrib/sailfish/' and start the building process with

./build_on_sailfish_sdk.sh

Step 2 - Copy the rpm

Back to Ubuntu, copy the rpm to SailfishOS Emulator

scp -P 2223 -i ~/SailfishOS/vmshare/ssh/private_keys/SailfishOS_Emulator/root /home/'username'/rpmbuild/RPMS/i586/harbour-navit-'builtversion'.i586.rpm root@localhost:

Step 3 - Log into SailfishOS Emulator

ssh -p 2223 -i ~/SailfishOS/vmshare/ssh/private_keys/SailfishOS_Emulator/root root@localhost

Step 4 - Install Navit in SailfishOS Emulator

rpm -i harbour-navit-'builtversion'.i586.rpm

Running on Jolla 2.0.1.11

Step 1 - Copy the rpm

scp rpmbuild/RPMS/i586/harbour-navit-'builtversion'.armv7hl.rpm nemo@'IP of your device':

Step 2 - Install required LIBS

pkcon install gettext

Step 3 - Install as root

devel-su rpm -i navit-'builtversion'-metalstrolch.armv7hl.rpm

Screenshots and pictures

Jolla

Some newer screenshots:
[1] [2] [3] [4]

Navit-sailfish-output320.gif

Jolla map withoutGPS 20161014.jpg Jolla map2 withoutGPS 20161014.jpg

Jolla Routing 20161005.png Jolla Navit Ressourcen.png

Jolla Harbour Validator

These is the result of the Jolla Harbour Validator tool:

Package name

PASSED

RPM file name

PASSED

QML files

PASSED

Desktop file

WARNING [/usr/share/applications/harbour-navit.desktop] X-Nemo-Application-Type should be silica-qt5 (not a Silica app?)
PASSED

Paths

INFO [/usr/share/icons/hicolor/[0-9x]{5,9}/apps/harbour-navit.png] All needed icons found!
ERROR [/usr/share/man/man1/maptool.1.gz] Installation not allowed in this location
ERROR [/usr/share/man/man1/harbour-navit.1.gz] Installation not allowed in this location
FAILED

Libraries

WARNING [/usr/bin/harbour-navit] file is not stripped!
PASSED

Icon

PASSED

Symbols

PASSED

Permissions

PASSED

Scripts

PASSED

Provides

PASSED

Obsoletes

PASSED

Requires

PASSED

Sandboxing

PASSED

RPATH

INFO [/usr/bin/harbour-navit] rpath in binary is empty!
OK [rpath in binary seems to be ok: 'empty']
PASSED

Architecture

PASSED

Vendor check

OK [No vendor set!]
PASSED

Creating heightlines with srtm2osm and maptool

Tested on Ubuntu 16.04 LTS

Mono

http://www.mono-project.com/download/#download-lin-ubuntu

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/mono-official.list
sudo apt-get update
sudo apt-get install mono-devel

For more informations about mono see http://www.mono-project.com

srtm2osm

cd ~ 
wget http://osm.michis-pla.net/code/Srtm2Osm-1.12.1.0.zip

more informations about srt2osm see wiki.openstreetmap.org/wiki/Srtm2Osm

If unzip isn't installed

sudo apt-get install unzip
unzip Srtm2Osm-1.12.1.0.zip

Download the region, in which you would like to have heightlines.
srtm2osm have several options to do that. See http://wiki.openstreetmap.org/wiki/Srtm2Osm#Usage and for more options: https://svn.openstreetmap.org/applications/utils/Srtm2Osm/trunk/Srtm2Osm/ConsoleApp.cs

Change to the unzipped folder by

cd srt2osm

and execute the command like

mono Srtm2Osm.exe -bounds2 49.0217 8.5735 200 -o ~/srtm2osm/srtm2osm.osm -firstnodeid 72057594037927936 -firstwayid 72057594037927936 -step 100 -cat 2000 450

it downloads a 200 km box size around Karlsruhe.
firstnodeid and firstwayid must be set <= 2^56

maptool

Now, you convert the osm map file to Navit bin file.
Change the directory, where Navits maptool is installed/built and run

./maptool -i ~/srtm2osm/srtm2osm.osm ~/navit-build/navit/maps/karlsruhe.heightlines.bin

Navit.xml

After that, you have to include the karlsruhe.heightlines.bin as a map.

splitting navit.xml

platforms split ok? user-defined location?
Linux Yes
Windows Yes
MacOS Yes
Android Yes
Ångström development Yes
iOS Yes
Maemo Yes
TomTom Yes
WebOS Yes
WinCE Yes
Sailfish OS Yes

I use the suggestion on the forum from biomimetics, to start discussion

navit.xml would certainly contain:
- navit_plugins.xml (different between linux + android)
- navit_debug.xml
- navit_drawing.xml

and maybe also
- user_speech.xml
- user_vehicle.xml (including vehicle profile)

those I think would be good to have at the user hand (in decreasing relevance):
- user_osd.xml
- user_maps.xml
- user_menu.xml (one would like to have different layouts depending on the screen size = more rows, smaller icons ...)
- user_mapsources.xml
- user_navit_center.xml (just <navit center=....>)


links:
https://wiki.navit-project.org/index.php/Configuration/Advanced_Options#Splitting_navit.xml
https://forum.navit-project.org/viewtopic.php?f=19&t=400

Notes

Links

http://raspberrypi.link-tech.de/doku.php?id=navitnavigation Navit on Raspberry Pi