]> jfr.im git - solanum.git/blame - INSTALL
Add .travis.yml
[solanum.git] / INSTALL
CommitLineData
1115a7a5 1 Charybdis INSTALL Document
212380e3 2
78e647ad 3 $Id: INSTALL 3384 2007-04-03 22:45:04Z jilles $
212380e3
AC
4
5 Copyright (c) 2001 by ircd-hybrid team
6 Copyright (c) 2002-2004 ircd-ratbox development team
1115a7a5 7 Copyright (c) 2005-2008 charybdis development team
212380e3
AC
8
9 ----------------------------------------------------------------------
10
11 HOW TO BUILD
12
13 As of hybrid-4, the distribution uses GNU autoconf instead of the old
14 Config script. The Makefile has also been updated to include CFLAGS
15 defines for popular modern OSes.
16
17 1.
18
1115a7a5 19 Read the NEWS file to find out about the exciting new features in
f6b62c59 20 this version. Other good reads are BUGS, doc/ircd.conf.example, and
1115a7a5 21 README.FIRST.
212380e3
AC
22
23 2.
24
25 Run the configure script. It will create include/setup.h and the
26 Makefiles to match your system. In ircd-ratbox, the paths are now handled
27 with the --prefix option to configure, not in config.h.
28 /usr/local/ircd is the default if no prefix is specified.
29
30 ./configure --prefix="/usr/local/ircd"
31
32 Note: There are some special optional parameters to the configure
33 script that some admins may wish to use.
34
35 *
36
37 --enable-kqueue - Use the superior kqueue(2) system call as
38 opposed to the default poll(2). This is currently only available
39 on FreeBSD 4.1 or higher.
40
41 *
42
43 --enable-devpoll - Enable the superior /dev/poll support on
44 Solaris. Linux /dev/poll is broken and will not work with this
45 option.
46
47 *
48
49 --enable-epoll - Enable the superior Linux Edge-Triggered Polling
50 system. This is currently only available on 2.5 Linux kernel
51 versions or later.
52
53 *
54
55 --enable-openssl - Enable the openssl dependent crypto functions.
56 This will allow CHALLENGE to work and encrypted links. On systems
57 where the configure script can automatically detect OpenSSL, this
58 option is not necessary. If configure cannot find OpenSSL, you
59 must specify a path with this option
60 (--enable-openssl=/path/to/openssl)
61
62 *
63
64 --enable-ipv6 - Enable IPv6 support.
65
212380e3
AC
66 *
67
566df88f
KB
68 --enable-assert[=OPTION] - Enable some debugging code. OPTION is
69 either 'soft' or 'hard' (default: hard). 'hard' should never be
70 used on production servers as it may generate unnecessary cores.
71 'soft' prevents cores from being generated but still imposes some
72 additional load.
212380e3
AC
73
74 *
75
76 --enable-small-net - Tunes the server for smaller networks by
77 reducing the startup memory footprint. This should really only be
78 used for *small* networks, as this tends to be a performance hit
79 on larger networks.
80
81 *
82
1115a7a5
JT
83 --with-nicklen=LENGTH - Sets the maximum NICK length. Note that
84 this must be consistent across your entire network.
212380e3
AC
85 3.
86
1115a7a5 87 make should build ircd.
212380e3
AC
88
89 4.
90
1115a7a5
JT
91 make install will install the server, modules, and tools in the
92 the prefix specified when configure was run.
212380e3
AC
93
94 5.
95
212380e3
AC
96 If you wish to enable the user log, oper log, and failed oper log,
97 issue these commands at the shell prompt (in the prefix directory)
98
99 $ touch logs/userlog
100 $ touch logs/operlog
101 $ touch logs/foperlog
102
103 Note: If you use different names in ircd.conf, you must 'touch' the
104 specific names.
105
212380e3
AC
106 ----------------------------------------------------------------------
107
108 HOW TO GET HELP
109
110 Send Check or Money Order to... just kidding! You're on your own for
111 support. Try asking other ircd-ratbox admins on EFnet if you can't fix it
112 yourself. If you do fix anything, however, please send context or unified
113 diffs to ircd-ratbox@lists.ratbox.org so the fixes can be incorporated into
114 the next release of ircd-hybrid. If ratbox crashes on you, PLEASE contact
115 ircd-ratbox@lists.ratbox.org ASAP with a backtrace of the core.
116
117 DISCUSSION: There is a mailing list for discussion of ratbox issues,
118 To subscribe, visit:
119 http://lists.ratbox.org/cgi-bin/mailman/listinfo/ircd-ratbox
120
121 ----------------------------------------------------------------------
122
123 NOTES
124
125 The best way to get a backtrace of the core is to follow this sequence of
126 instructions:
127
128 1.
129
130 Change to the directory containing the core file
131
132 2.
133
134 Run gdb on the binary and the core file. With an unmodified ircd-ratbox
135 installation, an example command line is below (in the /usr/local/ircd
136 directory)
137
138 $ gdb bin/ircd ircd.core
139
140 3.
141
142 At the "(gdb)" prompt, enter the command "bt"
143
144 4.
145
146 Save the output of the backtrace command and send it to
147 ircd-ratbox@lists.ratbox.org
148
149 5.
150
151 Be sure to save the ircd binary, the modules, and the core file in a
152 safe place in case the developers need to look deeper than a backtrace
153 provides.
154
155 ----------------------------------------------------------------------
156
157 OPENSSL NOTES
158
159 Older FreeBSD machines sometimes have the obsolete ports version of
160 OpenSSL libcrypto in /usr/local/lib. When configure is used with
161 --enable-openssl, and libintl is detected in /usr/local/lib, the
162 /usr/local/lib directory will be searched BEFORE the system /usr/lib for
163 libraries by the linker. The linker may try to link to the old
164 /usr/local/lib libcrypto instead of the system /usr/lib libcrypto. Some
165 older versions may cause error messages similar to the following:
166
167 gcc -g -O2 -DIRCD_PREFIX=\"/home/wcampbel/ircd\" -Wl,-export-dynamic
168 -L/usr/local/lib -o ircd blalloc.o channel.o vchannel.o class.o client.o
169 dline_conf.o event.o fdlist.o fileio.o hash.o irc_string.o ircd.o ircdauth.o
170 ircd_signal.o linebuf.o list.o listener.o m_error.o match.o memdebug.o
171 modules.o motd.o mtrie_conf.o oldparse.o numeric.o packet.o parse.o res.o rsa.o
172 restart.o s_auth.o s_bsd.o s_bsd_kqueue.o s_conf.o s_debug.o s_gline.o s_log.o
173 s_misc.o s_serv.o s_stats.o s_user.o scache.o send.o sprintf_irc.o tools.o
174 whowas.o lex.yy.o y.tab.o version.o -lintl -ldescrypt -lcrypto -lfl
175 rsa.o: In function `get_randomness':
176 /home/wcampbel/dev/ircd-ratbox/src/rsa.c(.text+0x60): undefined reference to
177 `RAND_pseudo_bytes'
178 /usr/local/lib/libcrypto.so: undefined reference to `ERR_load_RSAREF_strings'
179 /usr/local/lib/libcrypto.so: undefined reference to `RSA_PKCS1_RSAref'
180 *** Error code 1
181
182 If this is the case, you may need to rerun configure without the
183 --enable-openssl option, manually edit src/Makefile and modules/Makefile
184 to put -L/usr/lib before the -L/usr/local/lib in LDFLAGS, or remove the
185 old OpenSSL from /usr/local, and recompile all applications that use
186 libcrypto to use the system one.