This repository has been archived on 2025-02-12. You can view files and clone it, but cannot push or open issues or pull requests.
NeoStats-NeoIRCd/INSTALL

209 lines
8 KiB
Text
Raw Normal View History

2002-09-16 04:57:38 +00:00
NeoIRCd INSTALL Document
2002-08-13 14:34:25 +00:00
+------------------------------------------------------------------------+
| Note for those who dont 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" |
| |
+------------------------------------------------------------------------+
HOW TO BUILD
1.
Read the ChangeLog file to find out about the exciting new features in
this version. Other good reads are doc/whats-new.txt, BUGS,
doc/example.conf, and README.FIRST.
2.
Run the configure script. It will create include/setup.h and the
2002-09-16 04:57:38 +00:00
Makefiles to match your system. In NeoIRCd, the paths are set
2002-08-13 14:34:25 +00:00
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"
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-rtsigio - Enable the superior Linux RealTime Signal I/O
system. This is currently only available on 2.4 Linux kernel
versions or later.
*
--enable-openssl - Enable the openssl dependent crypto functions.
This will allow CHALLENGE to work and encrypted links. 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)
*
--enable-ipv6 - Enable IPv6 support.
*
--disable-shared-modules - Disable module support. This option is
2002-09-16 04:57:38 +00:00
more secure, but reduces a lot of the flexibility in NeoIRCd 7.
2002-08-13 14:34:25 +00:00
This may need to be used on some systems without a working dl
library.
*
--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-maxclients - Sets the maximum number of clients support by
the server. Note that this also twiddles the HARD_FDLIMIT_ define
so it is no longer necessary to modify include/config.h for this.
If HARD_FDLIMIT_ ends up being larger that FD_SETSIZE when using
select() for your I/O loop, s_bsd_select.c will refuse to compile
(and tell you to use poll instead). Take this error's advice and
use --enable-poll or something a bit more efficient. You'll be
happier at the end of the day for it.
3.
Look over the "include/config.h" file. This allows you to change the
few remaining hard coded options of how the ircd will operate. Most
admins will only have to change a few settings. USE_SYSLOG is the only
one that most admins will need to edit.
Note: Note that you must have permission by the sysadmin to send
messages to the system log files.
All other settings in config.h are not necessary to edit.
4.
make should build ircd.
5.
make install will install the server, modules(1), and tools in the
path defined in config.h and the prefix specified when configure was
run.
(1) Unless the server was compiled without module support.
6.
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)
2002-09-16 04:57:38 +00:00
$ touch logs/userlog
$ touch logs/operlog
$ touch logs/foperlog
2002-08-13 14:34:25 +00:00
Note: If you use different names in ircd.conf, you must 'touch' the
specific names.
----------------------------------------------------------------------
HOW TO GET HELP
2002-09-16 04:57:38 +00:00
Visit http://www.neostats.net/boards/ or you can see if anyone is awake
in irc://irc.irc-chat.org/#neostats
We do have a email address, but you will tend to get a quicker response
from posting your messages on our boards. You should also check previous
posts on the boards as someone might have already answered your questions.
2002-08-13 14:34:25 +00:00
----------------------------------------------------------------------
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.
2002-09-16 04:57:38 +00:00
Run gdb on the binary and the core file. With an unmodified NeoIRCd-7
2002-08-13 14:34:25 +00:00
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"
4.
2002-09-16 04:57:38 +00:00
Save the output of the backtrace command and post it to
http://www.neostats.net/boards/
2002-08-13 14:34:25 +00:00
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.
----------------------------------------------------------------------
OPENSSL NOTES
Older FreeBSD machines sometimes have the obsolete ports version of
OpenSSL libcrypto in /usr/local/lib. When configure is used with
--enable-openssl, and libintl is detected in /usr/local/lib, the
/usr/local/lib directory will be searched BEFORE the system /usr/lib for
libraries by the linker. The linker may try to link to the old
/usr/local/lib libcrypto instead of the system /usr/lib libcrypto. Some
older versions may cause error messages similar to the following:
gcc -g -O2 -DIRCD_PREFIX=\"/home/wcampbel/ircd\" -Wl,-export-dynamic
-L/usr/local/lib -o ircd blalloc.o channel.o vchannel.o class.o client.o
dline_conf.o event.o fdlist.o fileio.o hash.o irc_string.o ircd.o ircdauth.o
ircd_signal.o linebuf.o list.o listener.o m_error.o match.o memdebug.o
modules.o motd.o mtrie_conf.o oldparse.o numeric.o packet.o parse.o res.o rsa.o
restart.o s_auth.o s_bsd.o s_bsd_kqueue.o s_conf.o s_debug.o s_gline.o s_log.o
s_misc.o s_serv.o s_stats.o s_user.o scache.o send.o sprintf_irc.o tools.o
whowas.o lex.yy.o y.tab.o version.o -lintl -ldescrypt -lcrypto -lfl
rsa.o: In function `get_randomness':
/home/wcampbel/dev/ircd-hybrid-7/src/rsa.c(.text+0x60): undefined reference to
`RAND_pseudo_bytes'
/usr/local/lib/libcrypto.so: undefined reference to `ERR_load_RSAREF_strings'
/usr/local/lib/libcrypto.so: undefined reference to `RSA_PKCS1_RSAref'
*** Error code 1
If this is the case, you may need to rerun configure without the
--enable-openssl option, manually edit src/Makefile and modules/Makefile
to put -L/usr/lib before the -L/usr/local/lib in LDFLAGS, or remove the
old OpenSSL from /usr/local, and recompile all applications that use
libcrypto to use the system one.