forked from pkot/gnokii
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL
277 lines (198 loc) · 8.09 KB
/
INSTALL
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
Gnokii installation instructions
================================
Please note that you need development packages to build gnokii from scratch.
You'll need tools like:
- git
- make
- gcc
- flex
- pkg-config
For certain distributions like Ubuntu most of the tools are available in
build-essentials package. You will need also the set of autotools and
family (they are needed just for git compile):
- automake
- autoconf
- libtool
- gettext
- intltool
For building gnokii you will need development packages for the used
libraries. They are usually marked with -dev suffix, like:
- libbluetooth3 vs libbluetooth3-dev
- libical0 vs libical-dev
Verify with your distribution what exactly do you need.
Quickstart
==========
$ libtoolize -c -f # only for git copies
[ under Mac OS X use glibtoolize instead of libtoolize ]
$ glib-gettextize -f # only for git copies
$ intltoolize --force --copy --automake # only for git copies
$ aclocal -I m4 # only for git copies
$ autoheader -I m4 # only for git copies
$ automake --add-missing # only for git copies
$ autoconf # only for git copies
$ ./configure [<options>]
[ instead of above commands you can simply run ./autogen.sh [<options>] ]
[ we recommend using --enable-security option to get all gnokii ]
[ capabilities ]
$ make
# make install
$ mkdir -p ~/.config/gnokii
$ cp Docs/sample/gnokiirc ~/.config/gnokii/config
$ $EDITOR ~/.config/gnokii/config
[ adjust config according to your setup and follow hints in the file ]
Requirements
============
Additional libraries and header files needed for the various gnokii parts:
libgnokii: glib-2.0
xgnokii: libX11, libXpm, glib-2.6, gtk+-2.0
Optional libraries and files:
bitmap support: libXpm for xpm files support, gnokii can deal without
this (xgnokii cannot)
irda support: Linux kernel includes (there is also IrDA support
for Mac OS X and Windows)
bluetooth support: bluez (Linux Bluetooth stack) (there is also bluetooth
support for Mac OS X and FreeBSD)
libical support: libical-0.24, you may want to use gnokii internal iCal
implementation but it is limited, no longer developed
and deprecated. This is only for converting calendar
and todo entries into iCal files and reading such
files.
libusb support: libusb (for DKU2 cables support)
libreadline support: required by gnokii for --shell command support
SIM readers support: libpcsclite (to use a Smart Card reader instead of a phone)
country name translation: iso-codes package (its presence is detected at runtime if
NLS is enabled so it can be installed at any time without
reconfiguring or recompiling)
smsd: glib-2.0, gmodule-2.0
smsd plugins:
mysql: libmysqlclient
postgresql: libpq
sqlite: libsqlite3
Please note that all libraries are autodetected by configure script.
Sources:
http://www.xfree86.org/ libX11, libXpm
http://www.gtk.org/ glib, gtk, gmodule
http://www.kernel.org/ Linux kernel includes
http://www.bluez.org/ bluez (Linux Bluetooth stack)
http://sourceforge.net/projects/freeassociation/ libical
http://libusb.sf.net/ libusb
http://pcsclite.alioth.debian.org/ libpcsclite
http://pkg-isocodes.alioth.debian.org/ iso-codes (country name translation)
http://www.mysql.com/ libmysqlclient
http://www.postgresql.com/ libpq
http://tiswww.case.edu/php/chet/readline/rltop.html libreadline
However all of the libraries should be shipped by any modern Linux (and not
only) distribution.
For xgnokii you may want download gnokii-artwork package from
http://www.gnokii.org/download/gnokii, the package containing mobile
phone pixmaps to be used with xgnokii keyboard simulator and operator
logo previewer.
Verbose instructions
====================
Preparations
------------
If you retrieved this copy from git, then first call
$ libtoolize -c -f
[ under Mac OS X use glibtoolize instead of libtoolize ]
$ glib-gettextize -f
$ intltoolize --force --copy --automake # only for git copies
$ aclocal -I m4
$ autoheader -I m4
$ automake --add-missing # only for git copies
$ autoconf
Now you have to determine your system specific settings.
$ ./configure [<options>]
Basic options are:
--prefix=DIR
Sets the install path prefix. Default is /usr/local/.
--without-x
Compiles without GTK (X11) programs.
--disable-nls
Set if you don't have/want GNU gettext support.
--enable-security
Set if you want to enable all security features supported by your
mobile (PIN change, etc.).
--disable-rlpdebug
Set if you don't want RLP code compiled in.
--disable-xdebug
Set if you don't want X code compiled in.
--enable-fulldebug
Set if you want to produce binaries with debug symbols (cc -g)
--help
Shows all options.
This example is commonly used:
$ ./configure --prefix=/usr --enable-security
Alternatively, instead of writing these commands you can use:
$ sh autogen.sh [<options>]
where options are the same as with configure script. Sometimes (it happens
mainly with libintl and libiconv) some libraries may not be correctly
recognized. You may want to set enviromental variables to let configure do
the work. The sample usage would be:
$ CPPFLAGS="-I/usr/local/include -L/usr/local/lib" ./configure \
--prefix=/usr --enable-security
or
$ CFLAGS="-I/usr/local/include -L/usr/local/lib" ./configure \
--prefix=/usr --enable-security
and the equivalent with autogen.sh
Compilation
-----------
Start the compilation process by typing
$ make
Installation
------------
Install the binaries into the system with the following line:
# make install
'install' target is the usual installation process that you would need in
most cases.
Note that you will need to adjust /dev/ttyS* or /dev/ircomm* and /var/lock
permissions and ownership before starting using gnokii. An udev rules file
for use with libusb is provided in Docs/sample.
If you wish to install gnokii stuff in some other directory root (eg. when
creating a distribution package), you can take an advantage of the DESTDIR
variable:
$ make DESTDIR=/somewhere install
Clean-up
--------
To remove products of the compile process, type
$ make clean
Calling
$ make distclean
additionaly cleans all ./configure outputs. After this command you must
run ./configure again if you need to use any Makefile.
Configuration
-------------
Copy the example config file for gnokii from the Docs/sample/ directory to
your home directory:
$ mkdir -p ~/.config/gnokii
$ cp Docs/sample/gnokiirc ~/.config/gnokii/config
It is a plain ASCII file which can be read in any editor. Make sure you do
not save it in a wordprocessor's binary-format. It has to remain plain
text. vi, mcedit, kedit, joe or even emacs are good examples.
Change the settings to fit your setup. The file should be self-explaining.
Strings starting with `#' are comments (from `#' char till end of the line).
Ubuntu hints
============
The hints most likely apply against any other Debian-based distribution and
similiar steps need to be taken for any other distribution. The described
steps were taken on fresh Ubuntu 9.10 installation.
Grab build environment. It will install compiler, most important libraries
like libc, make and so:
$ sudo apt-get install build-essential
Get the most packages possible for gnokii compile:
$ sudo apt-get build-dep gnokii
One additional dependency is missing to support sqlite backend for smsd:
$ sudo apt-get install libsqlite3-dev
If you want to play on git version you need to have git and additional
tools:
$ sudo apt-get install git libtool
Now you should be able to proceed with instructions described in previous
sections.
Fedora / RHEL
=============
Grab build environment. It will install autotools, the devel packages, git
but not the compiler itself:
$ su -c 'yum-builddep gnokii'
Grab the compiler and other tools:
$ su -c 'yum install gcc libtool'
Now you should be able to proceed with instructions described in previous
sections.