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.