summaryrefslogtreecommitdiff
path: root/src/poi-service/README
blob: ca219cf87e6db84eabdce6687077aabad9a934fa (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
Release date of the file: 18-11-2015 
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 Build poi-server
===============================

Create and enter the build folder:
mkdir ./build
cd build

Build:
cmake ../
make
cd ..

===============================
How To Run poi-server
===============================

./bin/poi-server  -f ./resource/poi-database-sample.db

===============================
How To Build poi-manager-server
===============================
NB: You need CommonAPI 3.1.2 and Franca 0.9.1 installed 


You need to pass as parameter to the cmake the link to your patched dbus library (required by CommonAPI)

NB: For the 64 bits version, replace 'x86' with 'x86_64' in the command below:

cd build
cmake -DWITH_FRANCA_DBUS_INTERFACE=ON -DDBUS_LIB_PATH=yourPath -DCOMMONAPI_DBUS_TOOL_GENERATOR=<common-api-dbus-tools folder>/org.genivi.commonapi.dbus.cli.product/target/products/org.genivi.commonapi.dbus.cli.product/linux/gtk/x86/commonapi-dbus-generator-linux-x86 -DCOMMONAPI_TOOL_GENERATOR=<common-api-tools folder>/org.genivi.commonapi.core.cli.product/target/products/org.genivi.commonapi.core.cli.product/linux/gtk/x86/commonapi-generator-linux-x86 -DWITH_DEBUG=ON ../
make 
cd ..

===============================
How To Run poi-manager-server
===============================

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

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