summaryrefslogtreecommitdiff
path: root/src/poi-service/README
blob: a86ba0dc5b1b8d03cd3a327b25a6c3eb4d321b47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Release date of the file: 15-01-2016 
Status: OK

Project:
Search engine for Point Of Interest with a content access module mechanism to extend to additional sources of data
This project is one of the navigation-service common projects that implements the GENIVI navigation APIs.

More:
The project is made of sub parts:
- poi-supplier that populates a sqlite3 based database from OSM data in xml format
- poi-server that implements the poi search API and access an embedded database
- poi-contentaccess-module that implements a content access module that access an additional database, and a simple HMI 
- poi-client that implements a client with a test HMI 
- poi-manager-server and poi-manager-client that implements a CommonAPI based proof of concept of an extension of the poi-contentaccess-module
See also other navigation projects like navigation or proof of concepts implemented for traffic-info and positioning 

What is in:
This folder contains scripts for building poi-server and poi-manager-server
FYI: poi-supplier, poi-contentaccess-module and poi-client are located under test/poi-service

Author: 
Philippe Colliot philippe.colliot@mpsa.com

License: 
See headers and LICENSE file

Test target: 
Ubuntu 14.04 LTS 32bits
Ubuntu 15.10 64bits

To get the code:
Code is part of the navigation-service repository, so you need to clone the whole content:
git clone http://git.projects.genivi.org/lbs/navigation-service.git $WORKING-DIR

=============================================================================================
How-to for the proof of concept
=============================================================================================
 
==========================================
All-in-one script 
==========================================
./rebuild_all.sh

==========================================
How-to step by step, with explanations
==========================================
---Create and enter the build folder---
mkdir ./build
cd build
cmake ../
make
cd ..

==========================================
How To Run
==========================================
./bin/poi-server  -f ./resource/poi-database-sample.db

=============================================================================================
How to for the common api based proof of concept (for testing add/remove stuff into a database)
=============================================================================================
NB: You need CommonAPI 3.1.2 and Franca 0.9.1 installed 

==========================================
All-in-one script 
==========================================
./rebuild_all.sh -f

==========================================
How-to step by step, with explanations
==========================================
You need to pass as parameter to the cmake the link to your patched dbus library (required by CommonAPI)

cd build
cmake -DWITH_FRANCA_DBUS_INTERFACE=ON -DDBUS_LIB_PATH=yourPath -DCOMMONAPI_DBUS_TOOL_DIR=<common-api-dbus-tools folder> -DCOMMONAPI_TOOL_DIR=<common-api-tools folder> -DWITH_DEBUG=ON ../
make 
cd ..

==========================================
How To Run
==========================================

Copy the configuration file ./resource/commonapi-dbus.ini in a directory of your choice

Set the environment variable COMMONAPI_DBUS_DEFAULT_CONFIG before starting the poi-manager-server.

Example:
export COMMONAPI_DBUS_DEFAULT_CONFIG=<your path>/commonapi-dbus.ini

cp ./resource/poi-database-managed.db ./bin
./bin/poi-manager-server -f ./bin/poi-database-managed.db

==========================================
About CommonAPI issues
==========================================
It seems to have an issue with the .cmake files when two versions of CommonAPI are installed
(see into /usr/local/lib/cmake/)

=============
For the Ubuntu 64 bits, due to the use of symbol versioning LIBDBUS_1_0 by CommonAPI-DBus, the patched version of dbus has to be >= 1.10.0
(the patch to be applied has to be fix a little bit)

=============
In case the .pc are not well generated, please add these files to /usr/local/lib/pkgconfig

CommonAPI.pc

prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Common API C++
Description: GENIVI Common API C++ Library
Version: 3.1.2
Libs: -L${libdir} -lCommonAPI 
Cflags: -I${includedir}/CommonAPI-3.1

CommonAPI-DBus.pc

prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Common API C++ D-Bus Middleware
Description: GENIVI Common API C++ D-Bus Middleware
Version: 3.1.2
Requires: CommonAPI dbus-1
Libs: -L${libdir} -Wl,--no-as-needed -lCommonAPI-DBus -Wl,--as-needed 
Cflags: -I${includedir}/CommonAPI-3.1

=============