1 |
Hybrid INSTALL Document |
2 |
|
3 |
$Id$ |
4 |
|
5 |
Copyright (c) 1997-2019 ircd-hybrid development team |
6 |
|
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 |
---------------------------------------------------------------------- |
21 |
|
22 |
HOW TO BUILD |
23 |
|
24 |
As of hybrid-4, the distribution uses GNU autoconf instead of the old |
25 |
Config script. You must run ./configure before you can (sanely) build |
26 |
ircd-hybrid. |
27 |
|
28 |
1. Read the NEWS file to find out about the exciting new features in |
29 |
this version. Other good reads are doc/reference.conf, and README. |
30 |
|
31 |
2. Run the configure script. It will create config.h and the |
32 |
Makefiles to match your system. The paths are now handled |
33 |
with the --prefix option to configure. |
34 |
/usr/local/ircd is the default if no prefix is specified. |
35 |
|
36 |
./configure --prefix=/usr/local/ircd |
37 |
|
38 |
The script will determine whichever of the following is best for |
39 |
your system, but you may (unsupported) force their usage with |
40 |
undefined results: |
41 |
|
42 |
* --enable-kqueue - Use the superior kqueue(2) system call as |
43 |
opposed to the default poll(2). This is currently only available |
44 |
on FreeBSD, OpenBSD, NetBSD, and Mac OS X |
45 |
|
46 |
* --enable-devpoll - Enable the superior /dev/poll support on |
47 |
Solaris. Linux /dev/poll is broken and will not work with this |
48 |
option. |
49 |
|
50 |
* --enable-epoll - Enables epoll(4) Signal I/O system. This is |
51 |
currently only available on 2.5.44 Linux kernel versions or |
52 |
later. |
53 |
|
54 |
* --enable-poll - Use POSIX poll(2). |
55 |
|
56 |
Incidentally, the order of listing above is the order of auto- |
57 |
detection in configure. So if you do have kqueue but wish to |
58 |
enable poll(2) instead (bad idea), you must use --enable-poll. |
59 |
|
60 |
* --enable-openssl - Enable the LibreSSL/OpenSSL dependent crypto functions. |
61 |
Required for the SSL Challenge controlled OPER feature, compressed |
62 |
and/or SSL/TLS server links, as well as SSL/TLS client connections. |
63 |
|
64 |
On systems where the configure script can automatically detect |
65 |
LibreSSL or OpenSSL, this option is not necessary. If configure cannot |
66 |
find LibreSSL or OpenSSL, you must specify a path with this option |
67 |
(--enable-openssl=/path/to/openssl) |
68 |
|
69 |
|
70 |
These are optional or have default values that may be overridden: |
71 |
|
72 |
* --enable-assert - Enable use of numerous debugging checks. This is |
73 |
considered a developer-only feature and should not be used on any |
74 |
production servers for maximum speed so as to prevent cores from |
75 |
things that shouldn't normally happen. |
76 |
|
77 |
* --enable-debugging - Prepares Makefiles to compile the ircd sources |
78 |
with proper settings that are required for debugging purposes. |
79 |
This switch basically sets CFLAGS to "-g -O0". |
80 |
|
81 |
* --enable-efence - Allows easy linking with the electric fence memory |
82 |
debugger library. |
83 |
|
84 |
|
85 |
3. Run 'make'; this should build the ircd. |
86 |
|
87 |
4. Run 'make install'; this will install the server, modules, and tools |
88 |
in the path with the prefix specified when configure was ran. |
89 |
|
90 |
---------------------------------------------------------------------- |
91 |
|
92 |
HOW TO GET HELP |
93 |
|
94 |
- Send Check or Money Order to... just kidding! For bugs, patches or crash |
95 |
reports, contact bugs@ircd-hybrid.org. Please provide as much information |
96 |
as possible, context or unified diffs or backtrace of the core. |
97 |
The Hybrid team can't fix bugs if no one tells us about them! |
98 |
|
99 |
- For general discussion or support, you can subscribe to our mailing list at |
100 |
https://lists.ircd-hybrid.org/mailman/listinfo/hybrid. Alternatively, |
101 |
you can find us on IRC in #ircd-coders on irc.ircd-hybrid.org. |
102 |
|
103 |
---------------------------------------------------------------------- |
104 |
|
105 |
NOTES |
106 |
|
107 |
The best way to get a backtrace of the core is to follow this sequence of |
108 |
instructions: |
109 |
|
110 |
1. Change to the directory containing the core file |
111 |
|
112 |
2. Run gdb on the binary and the core file. With an unmodified ircd-hybrid |
113 |
installation, an example command line is below (in the /usr/local/ircd |
114 |
directory) |
115 |
|
116 |
$ gdb bin/ircd ircd.core |
117 |
|
118 |
|
119 |
3. At the "(gdb)" prompt, enter the command "bt full" |
120 |
|
121 |
4. Save the output of the backtrace command and send it to |
122 |
bugs@ircd-hybrid.org. |
123 |
|
124 |
5. Be sure to save the ircd binary, the modules, and the core file in a |
125 |
safe place in case the developers need to look deeper than a backtrace |
126 |
provides. |