Browse code

- 0.9.4 changes forward ported (docs, radius Makefile *bsd update, postgress Makefile *bsd update a.s.o)

Andrei Pelinescu-Onciul authored on 13/09/2005 13:53:11
Showing 4 changed files
... ...
@@ -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:
... ...
@@ -7,7 +7,7 @@ include ../../Makefile.defs
7 7
 
8 8
 auto_gen=
9 9
 NAME=serunix
10
-
10
+LIBS:=$(filter-out -lfl, $(LIBS) )
11 11
 
12 12
 include ../../Makefile.sources
13 13
 include ../../Makefile.rules