... | ... |
@@ -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 |
... | ... |
@@ -20,7 +20,6 @@ |
20 | 20 |
# need to look int /usr/local/lib as well |
21 | 21 |
# |
22 | 22 |
DEFS+=-I$(LOCALBASE)/include |
23 |
-LIBS+=-L$(LOCALBASE)/lib |
|
24 | 23 |
|
25 | 24 |
ifneq ($(radiusclient_ng), 4) |
26 | 25 |
|
... | ... |
@@ -34,3 +33,5 @@ DEFS+=-DRADIUSCLIENT_NG_4 |
34 | 33 |
RADIUSCLIENT_LIB=radiusclient |
35 | 34 |
|
36 | 35 |
endif |
36 |
+ |
|
37 |
+LIBS=-L$(LOCALBASE)/lib -l$(RADIUSCLIENT_LIB) |
... | ... |
@@ -59,7 +59,29 @@ new config variables: |
59 | 59 |
is exceeded no new tcp connections will be accepted). Default: 2048. |
60 | 60 |
|
61 | 61 |
|
62 |
-0.9.0 changes |
|
62 |
+0.9.4 fixes/improvements (0.9.4 is a bug fix release for 0.9.3) |
|
63 |
+ |
|
64 |
+general: |
|
65 |
+ - gcc 4.0 support |
|
66 |
+ - mutlicast options are set for all the sockets |
|
67 |
+ - mediaproxy: memory leak, unchecked memory allocations |
|
68 |
+ - postgress: some bugs and cleanups (compiles cleanly now) |
|
69 |
+ - tm: shm cloned lumps (SER-55) |
|
70 |
+ - tm: t_fifo: 64-bit fix |
|
71 |
+ - tm: dst_uri clone fix |
|
72 |
+ - tm: t_newtran/t_restransmit* races (!) |
|
73 |
+ - usloc: memory leak |
|
74 |
+ |
|
75 |
+solaris: |
|
76 |
+ - serctl, better ISA detection, signals |
|
77 |
+*bsd: |
|
78 |
+ - multicast options are properly set |
|
79 |
+openbsd: |
|
80 |
+ - tcp 64 bit fix |
|
81 |
+ |
|
82 |
+ |
|
83 |
+ |
|
84 |
+0.9.3 changes |
|
63 | 85 |
|
64 | 86 |
|
65 | 87 |
new archs: |