From 77e6bf1895a752722b2d9908dcff39f40a1ac5f5 Mon Sep 17 00:00:00 2001 From: Martin D Kealey Date: Fri, 23 Apr 2021 12:29:05 +1000 Subject: [PATCH] Explain autoconf before ./configure --- INSTALL | 90 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 66 insertions(+), 24 deletions(-) diff --git a/INSTALL b/INSTALL index cc6c7825f..5ae83be07 100644 --- a/INSTALL +++ b/INSTALL @@ -14,43 +14,75 @@ Config script. The Makefile has also been updated to include CFLAGS defines for popular modern OSes. - 1. + 1. Read the NEWS file to find out about the exciting new features in this version. Other good reads are BUGS, doc/example.conf, and README.FIRST. - 2. + 2. + + In broad outline, this project uses autoconf, so the "normal" + instalation procedure applies, which you can go ahead and use + if you're already familiar with it: + + $ autoconf + $ ./configure + $ make + $ sudo make install + + If not, you'll want to read the rest of this document. + + 3. + + Firstly, check that there is a file "configure" in this directory, and + if not, run + + $ autoconf + + If you don't have autoconf, install it from your distribution's package + manager, or get the latest version from + https://ftp.gnu.org/gnu/autoconf/ and follow the instructions in its own + INSTALL file. + + (Autoconf is also at https://github.com/autotools-mirror/autoconf but + there it lacks its own pre-built configure script; it needs to be + generated by autoconf, which induces a hole-in-my-bucket kind of + problem.) + + Don't forget to come back here and start again! + + 4. Run the configure script. It will create include/setup.h and the Makefiles to match your system. In ircd-ratbox, the paths are now handled with the --prefix option to configure, not in config.h. /usr/local/ircd is the default if no prefix is specified. - ./configure --prefix="/usr/local/ircd" + $ ./configure --prefix="/usr/local/ircd" Note: There are some special optional parameters to the configure script that some admins may wish to use. - * + * --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 - Enable the superior Linux Edge-Triggered Polling system. This is currently only available on 2.5 Linux kernel versions or later. - * + * --enable-openssl - Enable the openssl dependent crypto functions. This will allow CHALLENGE to work and encrypted links. On systems @@ -59,37 +91,47 @@ must specify a path with this option (--enable-openssl=/path/to/openssl) - * + * --enable-ipv6 - Enable IPv6 support. - * + * --disable-assert - Disable some of the debugging code. This should be used on all production servers for maximum speed and to prevent cores from things that shouldn't normally happen. - * + * --enable-small-net - Tunes the server for smaller networks by reducing the startup memory footprint. This should really only be used for *small* networks, as this tends to be a performance hit on larger networks. - * + * --with-nicklen=LENGTH - Sets the maximum NICK length. Note that this must be consistent across your entire network. - 3. + 5. make should build ircd. - 4. + $ make + + 6. make install will install the server, modules, and tools in the - the prefix specified when configure was run. + the prefix specified when configure was run. Unless you've set the + prefix to your own home directory, you'll need to be root for this step: + + $ sudo make - 5. + or + + $ su - + # make + + 7. If you wish to enable the user log, oper log, and failed oper log, issue these commands at the shell prompt (in the prefix directory) @@ -99,9 +141,9 @@ $ touch logs/foperlog Note: If you use different names in ircd.conf, you must 'touch' the - specific names. + names you've specified. - 6. + 8. If you are upgrading from Hybrid 5 or Hybrid 6, the config file has changed drastically... @@ -118,7 +160,7 @@ EDIT IT! There are still things that need changing in the config, including the fact that classes MUST be above auth/connect blocks! - 7. + 9. If you are upgrading from Hybrid 5 or Hybrid 6, the kline file has also changed... @@ -146,7 +188,7 @@ DISCUSSION: There is a mailing list for discussion of ratbox issues, To subscribe, visit: http://lists.ratbox.org/cgi-bin/mailman/listinfo/ircd-ratbox - + ---------------------------------------------------------------------- NOTES @@ -154,11 +196,11 @@ The best way to get a backtrace of the core is to follow this sequence of instructions: - 1. + 1. Change to the directory containing the core file - 2. + 2. Run gdb on the binary and the core file. With an unmodified ircd-ratbox installation, an example command line is below (in the /usr/local/ircd @@ -166,16 +208,16 @@ $ gdb bin/ircd ircd.core - 3. + 3. At the "(gdb)" prompt, enter the command "bt" - 4. + 4. Save the output of the backtrace command and send it to ircd-ratbox@lists.ratbox.org - 5. + 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