Skip to content
This repository has been archived by the owner on Jun 6, 2021. It is now read-only.

Explain autoconf before ./configure #189

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 66 additions & 24 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand All @@ -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...
Expand All @@ -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...
Expand Down Expand Up @@ -146,36 +188,36 @@
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

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
directory)

$ 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
[email protected]

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
Expand Down