...
|
...
|
@@ -31,51 +31,122 @@ TOC
|
31
|
31
|
|
32
|
32
|
|
33
|
33
|
|
34
|
|
-+--------------------------------------------------------+
|
35
|
|
-| CAUTION: the 0.8.11 release include changes which |
|
36
|
|
-| are incompatible with scripts and databases used |
|
37
|
|
-| in previous versions. Care is advised when upgrading |
|
38
|
|
-| from previous releases to 0.8.11. |
|
39
|
|
-+--------------------------------------------------------+
|
40
|
|
-
|
41
|
|
-
|
42
|
|
-
|
43
|
34
|
1. Supported Architectures and Requirements
|
44
|
35
|
-------------------------------------------
|
45
|
36
|
|
46
|
|
-Supported architectures: Linux/i386, Linux/armv4l, FreeBSD/i386, OpenBSD/i386
|
47
|
|
-Solaris/sparc64, NetBSD/sparc64
|
|
37
|
+Supported operating systems: Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Darwin
|
|
38
|
+Supported architectures: i386, x86_64 (amd64), armv4l, sparc64, powerpc,
|
|
39
|
+ powerpc64
|
|
40
|
+Experimental architectures: mips1, mips2, sparc32, alpha
|
|
41
|
+
|
48
|
42
|
(for other architectures the Makefiles might need to be edited)
|
49
|
43
|
|
50
|
44
|
There are various configuration options defined in the Makefile.
|
51
|
45
|
|
52
|
|
-Requirements:
|
53
|
46
|
|
|
47
|
+Requirements:
|
54
|
48
|
|
55
|
49
|
- gcc or icc : gcc >= 2.9x; 3.[12] recommended (it will work with older version
|
56
|
50
|
but it might require some options tweaking for best performance)
|
57
|
51
|
- bison or yacc (Berkley yacc)
|
58
|
52
|
- flex
|
59
|
|
-- GNU make (on Linux this is the standard "make", on FreeBSD and Solaris is
|
|
53
|
+- GNU make (on Linux this is the standard "make", on *BSD and Solaris is
|
60
|
54
|
called "gmake") version >= 3.79.
|
61
|
55
|
- sed and tr (used in the makefiles)
|
62
|
56
|
- GNU tar ("gtar" on Solaris) and gzip if you want "make tar" to work
|
63
|
|
-- GNU install or BSD install (on Solaris "ginstall") if you want "make
|
|
57
|
+- GNU install, BSD install or Solaris install if you want "make
|
64
|
58
|
install", "make bin", "make sunpkg" to work
|
65
|
59
|
- libmysqlclient & libz (zlib) if you want mysql support (the mysql module)
|
66
|
60
|
- libexpat if you want the jabber gateway support (the jabber module)
|
|
61
|
+- libxml2 if you want to compile the cpl-c (CPL support) or pa (presence)
|
|
62
|
+modules
|
|
63
|
+- libradiusclient-ng (> 5.0) if you need radius support (the auth_radius,
|
|
64
|
+group_radius, uri_radius and avp_radius modules)
|
|
65
|
+- libpq if you need postgres support (the postgres module)
|
67
|
66
|
|
68
|
67
|
|
69
|
68
|
OS Notes:
|
70
|
69
|
|
71
|
|
-- FreeBSD/OpenBSD/NetBSD: make sure gmake, bison or yacc & flex are installed
|
72
|
|
-- Solaris: as above; you can use Solaris's yacc instead of bison. You might
|
73
|
|
- need also gtar and ginstall.
|
74
|
|
-
|
|
70
|
+ FreeBSD/OpenBSD/NetBSD: make sure gmake, bison or yacc & flex are installed.
|
|
71
|
+
|
|
72
|
+ FreeBSD 5.4:
|
|
73
|
+
|
|
74
|
+ If you want to compile all the modules, you will need the following packages:
|
|
75
|
+ - mysql-client-* (any version, install one of the mysql*-client ports) for
|
|
76
|
+ libmysqlclient
|
|
77
|
+ - postgresql-libpqxx-2.4.2_1 (/usr/ports/databases/postgresql-libpqxx) for
|
|
78
|
+ libpq
|
|
79
|
+ - expat-1.95.8 (/usr/ports/textproc/expat2) for libexpat
|
|
80
|
+ - libxml2-2.6.18 (/usr/ports/textproc/libxml2) for libxml2
|
|
81
|
+ - radiusclient-0.4.7 (/usr/ports/net/radiusclient) for libradiusclient-ng
|
|
82
|
+ NOTE: you'll need to add radiusclient_ng=4 to the gmake command line if you
|
|
83
|
+ use the 0.4.* version.
|
|
84
|
+
|
|
85
|
+ Compile example (all the modules and ser in a tar.gz):
|
|
86
|
+ gmake bin radiusclient_ng=4 include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius postgres pa"
|
|
87
|
+
|
|
88
|
+ OpenBSD 3.7
|
|
89
|
+ - mysql-client-4.0.23 (/usr/ports/databases/mysql) for libmysqlclient
|
|
90
|
+ - expat-1.95.6 (/usr/ports/textproc/expat) for libexpat
|
|
91
|
+ - libxml-2.6.16p0 (/usr/ports/textproc/libxml) for libxml2
|
|
92
|
+ - radiusclient-ng-0.5.1 from
|
|
93
|
+ http://download.berlios.de/radiusclient-ng/radiusclient-ng-0.5.1.tar.gz
|
|
94
|
+ (you need to download and install it, since there is no "official"
|
|
95
|
+ openbsd port for it) for libradiusclient-ng
|
|
96
|
+ Compile example (all the modules and ser in a tar.gz):
|
|
97
|
+ gmake bin include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius pa"
|
|
98
|
+
|
|
99
|
+ NetBSD 2.0
|
|
100
|
+ - mysql-client-4.1.12 (/usr/pkgsrc/databases/mysql4-client) for libmysqlclient
|
|
101
|
+ - expat-1.95.8nb2 (/usr/pkgsrc/textproc/expat) for libexpat
|
|
102
|
+ - libxml2-2.6.19 (/usr/pkgsrc/textproc/libxml2) for libxml2
|
|
103
|
+ - radiusclient-ng-0.5.1 (see OpenBSD)
|
|
104
|
+
|
|
105
|
+ Compile example (all the modules and ser in a tar.gz):
|
|
106
|
+ gmake bin include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius pa"
|
|
107
|
+
|
|
108
|
+ Solaris 10
|
|
109
|
+
|
|
110
|
+ As above; you can use Solaris's yacc instead of bison. You might
|
|
111
|
+ need also gtar and ginstall. If you don't have ginstall you can use Solaris
|
|
112
|
+ install, just make sure it's in the PATH (it's usually in /usr/sbin) and
|
|
113
|
+ add INSTALL=install either to the environment or to the make command line
|
|
114
|
+ (e.g.: gmake INSTALL=install all).
|
|
115
|
+
|
|
116
|
+ Needed packages:
|
|
117
|
+ [TODO]
|
|
118
|
+
|
|
119
|
+ Compile example (all the modules and ser in a tar.gz):
|
|
120
|
+ gmake bin INSTALL=install include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius postgres pa"
|
|
121
|
+
|
|
122
|
+ Linux
|
|
123
|
+
|
|
124
|
+ Needed packages for compiling all the modules:
|
|
125
|
+ Debian:
|
|
126
|
+ - libmysqlclient-dev for libmysqlclient
|
|
127
|
+ - libpq-dev for libpq
|
|
128
|
+ - libexpat1-dev for libexpat
|
|
129
|
+ - libxml2-dev for libxml2
|
|
130
|
+ - libradiusclient-ng-dev for libradiusclient (you can download the
|
|
131
|
+ package from http://apt.sip-router.org/debian/dists/unstable/main/binary-i386/libradiusclient-ng-dev_0.5.1-0.5_i386.deb ).
|
|
132
|
+ NOTE: you can get up-to-date ser packages or libradiusclient packages
|
|
133
|
+ from http://apt.sip-router.org: add to your /etc/apt/sources.list the
|
|
134
|
+ following lines:
|
|
135
|
+ deb http://apt.sip-router.org/debian testing main contrib non-free
|
|
136
|
+ deb http://apt.sip-router.org/debian unstable main contrib non-free
|
|
137
|
+ and then: apt-get update; apt-get install libradiusclient-ng-dev
|
|
138
|
+ (or, if you want to use the pre-built modules:
|
|
139
|
+ apt-get install ser ser-cpl-module ser-jabber-module ser-mysq-module ser-pa-module ser-postgres-module ser-radius-modules )
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+ Compile example (all the modules and ser in a tar.gz):
|
|
143
|
+ make bin include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius postgres pa"
|
|
144
|
+
|
75
|
145
|
|
76
|
146
|
2. Howto Build ser From Source Distribution
|
77
|
147
|
-------------------------------------------
|
78
|
148
|
|
|
149
|
+
|
79
|
150
|
(NOTE: if make doesn't work try gmake instead)
|
80
|
151
|
|
81
|
152
|
- compile with default options:
|
...
|
...
|
@@ -85,6 +156,19 @@ make modules
|
85
|
156
|
|
86
|
157
|
or make all #builds everything
|
87
|
158
|
|
|
159
|
+By default make all will not build modules that require external libraries or
|
|
160
|
+that are considered to be "experimental". The modules that have external
|
|
161
|
+dependecies are: mysql, jabber, cpl-c, auth_radius, group_radius, uri_radius,
|
|
162
|
+avp_radius, postgres, pa.
|
|
163
|
+To build all of them (provided you have all the required libraries installed)
|
|
164
|
+use:
|
|
165
|
+ make all include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius avp_radius postgres pa"
|
|
166
|
+If you want to install or to build a binary package (a tar.gz with ser and
|
|
167
|
+ the modules), substitute "all" in the above command with "install" or "bin".
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+More compile examples:
|
|
171
|
+
|
88
|
172
|
- compile with profiling
|
89
|
173
|
|
90
|
174
|
make PROFILE=-pg all
|