Author: Bleep <tomh@inxpress.net>
[ircu2.10.12-pk.git] / INSTALL
1 INSTALL file        by Run <carlo@runaway.xs4all.nl>
2             Updated by Isomer <isomer@coders.net>
3
4 This is the UnderNet IRC daemon.
5
6 The installation of the IRC daemon (ircd) exists of the following steps:
7
8 1) Retrieve the package.
9 2) cd into the base directory.
10 3) `./configure'
11 4) `make config'
12 5) `make'
13 6) `make install'
14
15 1) Retrieve the package.
16 ====================
17
18 The recommended way to get the ircu package now is to use CVS.  CVS makes
19 upgrades a lot less painful and lets you get the latest package.
20
21 1.1) The first thing you need to do is 'authenticate' yourself against the
22 server.  
23
24 This is done with:
25
26 cvs -d :pserver:anoncvs@coder.com.undernet.org:/home/coder-com/cvs login
27
28 (we recommend that you cut and paste the above line to use it :)
29 When it prompts you for a password enter 'anoncvs'.
30
31 1.2) Then you have to decide which of the trees you want to use:
32
33 irc2.10 - This is the *STABLE* tree.  If in doubt use this one!
34
35 beta - This tree is undergoing testing before being promoted to ircu2.10
36        It may be buggy.  Use on the undernet production network is prohibited,
37        except for certain authorised servers.
38
39 alpha - This is the development tree, if you are planning on making patches
40        to be submitted to the main source tree we recommend you use this
41        tree.  However this tree is *not* guaranteed to compile, and should
42        be concidered HIGHLY unstable.  It is not intended for production
43        use.
44
45 to check out the tree, type:
46
47 cvs -d :pserver:anoncvs@coder-com.undernet.org:/home/coder-com/cvs checkout
48    -P irc2.10
49
50 The above two lines shouldn't have an enter between them.  if you want to
51 use another tree, replace 'irc2.10' with the tree you want to use.  This
52 will create a directory irc2.10, and put all the files in there.
53
54 to get the latest version, from within the tree type "cvs update -dP".
55
56 For more information see the coder-com website at
57 http://coder-com.undernet.org/
58
59 The old (tried and true) method that works even when the website isn't being
60 DoS'd (sigh) is included below.  Using the method below means you /cant/
61 just type 'cvs update -dP' to get the latest version.
62
63  The name of the package is something like `ircu2.x.y.z.tgz', where
64  "x.y.z" is the current release (at the time of writing we have
65  ircu2.10.00.beta3.tgz).
66
67  You need `gzip', the GNU unzip command, to uncompress this package.
68  You can download this from every GNU ftp site for almost any Operating system.
69  
70  If you have GNU tar, type:
71  
72  tar xzf ircu2.x.y.z.tgz
73  
74  where "ircu2.x.y.z.tgz" is the name of the package.
75  
76  If your tar doesn't support the 'z' flag, you can type alternatively:
77  
78  gzip -dc ircu2.x.y.z.tgz | tar xf -
79  
80  Both methods result in a directory "ircu2.x.y.z" in your current directory.
81  
82 2) cd into the base directory
83 =============================
84
85 Make this directory your current directory by typing:
86
87 cd ircu2.x.y.z
88
89 or ircu2.10 if you used cvs.
90
91 where "ircu2.x.y.z" is the name of the unpacked directory.
92
93 3) `./configure'
94 ==============
95
96 This will generate 'config/setup.h', your Operating System dependend
97 configuration.
98
99 If this produces a 'Permission Denied' error message, then try typing
100 `chmod a+x ./configure` first to give yourself permission to run the file.
101
102 4) `make config'
103 ================
104
105 This will (re)generate the include/config.h file.  You can run this
106 as often as you like and it will use your last values as defaults.
107 At every question you can type a '?' (followed by a return) to get
108 extensive help, or a 'c' to continue using your old values by default
109 (quickly finishing the script).
110
111 5) `make'
112 =========
113
114 Type:
115
116 make
117
118 in the base directory.  It should compile without errors or warnings.
119 Please mail any problem to the maintainer, but only AFTER you made sure
120 you did everything the right way.  If you want your Operating System
121 to be supported in future releases, you best make a patch that
122 actually fixes the problem.
123
124 If you have problems here with it complaining about unresolved symbols in
125 res.o, try "make config" again and add -lresolv to LDFLAGS. Note, there is
126 no 'e' on the end of resolv.  It's not a typo, it's supposed to be like
127 that.
128
129 If you have problems here with it complaining about unresolved symbols
130 possibly in s_user.c for 'crypt', add -lcrypt to LDFLAGS.
131
132 6) `make install'
133 =================
134
135 This should install the ircd and the man page. Please recheck the
136 permissions of the binary.
137 You need to create some of the logfiles that you have chosen by hand
138 (for instance with 'touch') before the ircd starts writing to them.
139 Of course, you need a syntactically correct ircd.conf in DPATH.  See the
140 docs for some info on this.  Also create an ircd.motd with the text of
141 your MOTD.  And finally create a remote.motd with three lines of text
142 as the remote MOTD.  Again, all of these files should be readable by the
143 ircd, and the logfiles should be writeable.
144
145
146 In case of problems
147 ===================
148
149 If you have problems configuring the server you might consider installing
150 GNU make in your PATH.  In some cases a brain-dead /bin/sh is causing the
151 problem, in which case I suggest to install 'bash' and use that (as sh -> bash).
152 Finally, any other compile problem should be solved when you install gcc.
153
154 If you have problems with starting the ircd, run 'make config' again
155 and define DEBUGMODE.  Recompile the ircd, and run it by hand as:
156
157 ircd -t -x9
158
159 This will write debug output to your screen, probably showing why it
160 doesn't start.
161
162 Don't use a server with DEBUGMODE defined on a production net.
163
164 If things still don't work, try emailing coder-com@undernet.org