| 1 |
adx |
30 |
Hybrid INSTALL Document |
| 2 |
|
|
|
| 3 |
knight |
31 |
$Id$ |
| 4 |
adx |
30 |
|
| 5 |
michael |
8752 |
Copyright (c) 1997-2019 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 |
|
|
---------------------------------------------------------------------- |
| 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 |
michael |
2345 |
|
| 28 |
michael |
918 |
1. Read the NEWS file to find out about the exciting new features in |
| 29 |
michael |
1823 |
this version. Other good reads are doc/reference.conf, and README. |
| 30 |
adx |
30 |
|
| 31 |
michael |
918 |
2. Run the configure script. It will create config.h and the |
| 32 |
michael |
1227 |
Makefiles to match your system. The paths are now handled |
| 33 |
adx |
30 |
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 |
michael |
2345 |
The script will determine whichever of the following is best for |
| 39 |
|
|
your system, but you may (unsupported) force their usage with |
| 40 |
adx |
30 |
undefined results: |
| 41 |
|
|
|
| 42 |
|
|
* --enable-kqueue - Use the superior kqueue(2) system call as |
| 43 |
michael |
925 |
opposed to the default poll(2). This is currently only available |
| 44 |
michael |
4370 |
on FreeBSD, OpenBSD, NetBSD, and Mac OS X |
| 45 |
adx |
30 |
|
| 46 |
|
|
* --enable-devpoll - Enable the superior /dev/poll support on |
| 47 |
michael |
925 |
Solaris. Linux /dev/poll is broken and will not work with this |
| 48 |
adx |
30 |
option. |
| 49 |
|
|
|
| 50 |
michael |
925 |
* --enable-epoll - Enables epoll(4) Signal I/O system. This is |
| 51 |
michael |
555 |
currently only available on 2.5.44 Linux kernel versions or |
| 52 |
|
|
later. |
| 53 |
|
|
|
| 54 |
michael |
925 |
* --enable-poll - Use POSIX poll(2). |
| 55 |
adx |
30 |
|
| 56 |
michael |
925 |
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 |
michael |
4333 |
enable poll(2) instead (bad idea), you must use --enable-poll. |
| 59 |
adx |
30 |
|
| 60 |
michael |
4370 |
* --enable-openssl - Enable the LibreSSL/OpenSSL dependent crypto functions. |
| 61 |
michael |
1548 |
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 |
michael |
4333 |
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 |
adx |
30 |
(--enable-openssl=/path/to/openssl) |
| 68 |
|
|
|
| 69 |
michael |
925 |
|
| 70 |
adx |
30 |
These are optional or have default values that may be overridden: |
| 71 |
michael |
2345 |
|
| 72 |
michael |
8272 |
* --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 |
adx |
30 |
|
| 77 |
michael |
1663 |
* --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 |
michael |
8359 |
* --enable-efence - Allows easy linking with the electric fence memory |
| 82 |
|
|
debugger library. |
| 83 |
|
|
|
| 84 |
|
|
|
| 85 |
adx |
30 |
3. Run 'make'; this should build the ircd. |
| 86 |
|
|
|
| 87 |
michael |
1138 |
4. Run 'make install'; this will install the server, modules, and tools |
| 88 |
adx |
30 |
in the path with the prefix specified when configure was ran. |
| 89 |
|
|
|
| 90 |
|
|
---------------------------------------------------------------------- |
| 91 |
|
|
|
| 92 |
|
|
HOW TO GET HELP |
| 93 |
|
|
|
| 94 |
michael |
5616 |
- 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 |
adx |
30 |
|
| 99 |
michael |
5616 |
- 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 |
adx |
30 |
|
| 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 |
michael |
974 |
2. Run gdb on the binary and the core file. With an unmodified ircd-hybrid |
| 113 |
adx |
30 |
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. |