1 |
adx |
30 |
Hybrid INSTALL Document |
2 |
|
|
|
3 |
knight |
31 |
$Id$ |
4 |
adx |
30 |
|
5 |
michael |
1292 |
Copyright (c) 1997-2012 IRCD-Hybrid Development Team |
6 |
adx |
30 |
|
7 |
|
|
---------------------------------------------------------------------- |
8 |
|
|
|
9 |
|
|
+------------------------------------------------------------------------+ |
10 |
|
|
| Note for those who don't bother reading docs: | |
11 |
|
|
| | |
12 |
|
|
| Reading INSTALL is now a must, as the old DPATH is now specified when | |
13 |
|
|
| configure is run. | |
14 |
|
|
| | |
15 |
|
|
| - You now need to ./configure --prefix="/path/to/install/it" as a | |
16 |
|
|
| minimum. Try ./configure --help or read this file for more info on | |
17 |
|
|
| the possible options you can pass to configure. | |
18 |
|
|
+------------------------------------------------------------------------+ |
19 |
|
|
|
20 |
|
|
***** EFNET NOTE ***** |
21 |
michael |
1402 |
You should use the example.efnet.conf instead of example.conf. |
22 |
adx |
30 |
********************** |
23 |
|
|
|
24 |
|
|
---------------------------------------------------------------------- |
25 |
|
|
|
26 |
|
|
HOW TO BUILD |
27 |
|
|
|
28 |
|
|
As of hybrid-4, the distribution uses GNU autoconf instead of the old |
29 |
|
|
Config script. You must run ./configure before you can (sanely) build |
30 |
|
|
ircd-hybrid. |
31 |
|
|
|
32 |
michael |
918 |
1. Read the NEWS file to find out about the exciting new features in |
33 |
michael |
1314 |
this version. Other good reads are BUGS, doc/example.conf, and |
34 |
michael |
1138 |
README. |
35 |
adx |
30 |
|
36 |
michael |
918 |
2. Run the configure script. It will create config.h and the |
37 |
michael |
1227 |
Makefiles to match your system. The paths are now handled |
38 |
adx |
30 |
with the --prefix option to configure. |
39 |
|
|
/usr/local/ircd is the default if no prefix is specified. |
40 |
|
|
|
41 |
|
|
./configure --prefix=/usr/local/ircd |
42 |
|
|
|
43 |
|
|
The script will determine whichever of the following is best for |
44 |
|
|
your system, but you may (unsupported) force their usage with |
45 |
|
|
undefined results: |
46 |
|
|
|
47 |
|
|
* --enable-kqueue - Use the superior kqueue(2) system call as |
48 |
michael |
925 |
opposed to the default poll(2). This is currently only available |
49 |
adx |
30 |
on FreeBSD 4.1 or higher. |
50 |
|
|
|
51 |
|
|
* --enable-devpoll - Enable the superior /dev/poll support on |
52 |
michael |
925 |
Solaris. Linux /dev/poll is broken and will not work with this |
53 |
adx |
30 |
option. |
54 |
|
|
|
55 |
michael |
925 |
* --enable-epoll - Enables epoll(4) Signal I/O system. This is |
56 |
michael |
555 |
currently only available on 2.5.44 Linux kernel versions or |
57 |
|
|
later. |
58 |
|
|
|
59 |
adx |
30 |
* --enable-rtsigio - Enable the superior Linux RealTime Signal I/O |
60 |
michael |
925 |
system. This is currently only available on 2.4 Linux kernel |
61 |
adx |
30 |
versions or later. |
62 |
|
|
|
63 |
michael |
925 |
* --enable-poll - Use POSIX poll(2). |
64 |
adx |
30 |
|
65 |
michael |
925 |
* --enable-select - Use POSIX select(2). |
66 |
adx |
30 |
|
67 |
michael |
925 |
Incidentally, the order of listing above is the order of auto- |
68 |
|
|
detection in configure. So if you do have kqueue but wish to |
69 |
|
|
enable select(2) instead (bad idea), you must use --enable-select. |
70 |
adx |
30 |
|
71 |
|
|
* --enable-openssl - Enable the openssl dependent crypto functions. |
72 |
michael |
1548 |
Required for the SSL Challenge controlled OPER feature, compressed |
73 |
|
|
and/or SSL/TLS server links, as well as SSL/TLS client connections. |
74 |
|
|
|
75 |
|
|
On systems where the configure script can automatically detect |
76 |
|
|
OpenSSL, this option is not necessary. If configure cannot find |
77 |
|
|
OpenSSL, you must specify a path with this option |
78 |
adx |
30 |
(--enable-openssl=/path/to/openssl) |
79 |
|
|
|
80 |
michael |
925 |
|
81 |
adx |
30 |
These are optional or have default values that may be overridden: |
82 |
|
|
|
83 |
michael |
925 |
* --enable-assert - Enable use of numerous debugging checks. This |
84 |
adx |
30 |
should not be used on any production servers for maximum speed |
85 |
michael |
925 |
so as to prevent cores from things that shouldn't normally happen. |
86 |
adx |
30 |
|
87 |
michael |
1663 |
* --enable-debugging - Prepares Makefiles to compile the ircd sources |
88 |
|
|
with proper settings that are required for debugging purposes. |
89 |
|
|
This switch basically sets CFLAGS to "-g -O0". |
90 |
|
|
|
91 |
michael |
925 |
* --enable-halfops - Enable halfops (%, mode +h) usage. Halfops |
92 |
|
|
are similar to plain ops, but can't kick/deop plain ops. Halfops |
93 |
|
|
may or may not kick/deop other halfops depending on if (+p) is |
94 |
|
|
set. Halfops may not set (+/-p). |
95 |
adx |
30 |
|
96 |
|
|
* --with-nicklen, |
97 |
michael |
925 |
--with-topiclen - Respectively, sets the maximum NICK length and |
98 |
|
|
maximum TOPIC length. Note that this must be consistent across your |
99 |
|
|
entire network. Defaults are 9 and 120, respectively. |
100 |
adx |
30 |
|
101 |
|
|
|
102 |
|
|
|
103 |
|
|
3. Run 'make'; this should build the ircd. |
104 |
|
|
|
105 |
michael |
1138 |
4. Run 'make install'; this will install the server, modules, and tools |
106 |
adx |
30 |
in the path with the prefix specified when configure was ran. |
107 |
|
|
|
108 |
|
|
---------------------------------------------------------------------- |
109 |
|
|
|
110 |
|
|
HOW TO GET HELP |
111 |
|
|
|
112 |
|
|
- Send Check or Money Order to... just kidding! You're on your own for |
113 |
|
|
support. Try asking other ircd-hybrid admins on EFnet if you can't |
114 |
|
|
fix it yourself. If you do fix anything, however, please send context |
115 |
|
|
or unified diffs to bugs@ircd-hybrid.org so the fixes can be |
116 |
|
|
incorporated into the next release of ircd-hybrid. If hybrid crashes |
117 |
|
|
on you, PLEASE contact bugs@ircd-hybrid.org ASAP with a backtrace of |
118 |
|
|
the core. The Hybrid team can't fix bugs if no one tells us about them! |
119 |
|
|
|
120 |
|
|
- https://lists.ircd-hybrid.org/mailman/listinfo/hybrid |
121 |
|
|
Here you can subscribe to a mailing list for general discussion of Hybrid. |
122 |
|
|
|
123 |
|
|
---------------------------------------------------------------------- |
124 |
|
|
|
125 |
|
|
NOTES |
126 |
|
|
|
127 |
|
|
The best way to get a backtrace of the core is to follow this sequence of |
128 |
|
|
instructions: |
129 |
|
|
|
130 |
|
|
1. Change to the directory containing the core file |
131 |
|
|
|
132 |
michael |
974 |
2. Run gdb on the binary and the core file. With an unmodified ircd-hybrid |
133 |
adx |
30 |
installation, an example command line is below (in the /usr/local/ircd |
134 |
|
|
directory) |
135 |
|
|
|
136 |
|
|
$ gdb bin/ircd ircd.core |
137 |
|
|
|
138 |
|
|
|
139 |
|
|
3. At the "(gdb)" prompt, enter the command "bt full" |
140 |
|
|
|
141 |
|
|
4. Save the output of the backtrace command and send it to |
142 |
|
|
bugs@ircd-hybrid.org. |
143 |
|
|
|
144 |
|
|
5. Be sure to save the ircd binary, the modules, and the core file in a |
145 |
|
|
safe place in case the developers need to look deeper than a backtrace |
146 |
|
|
provides. |