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