]> jfr.im git - solanum.git/blame - README.md
Remove unneeded ugly hack for 32-bit Solaris
[solanum.git] / README.md
CommitLineData
24508953 1# solanum ![Build Status](https://github.com/solanum-ircd/solanum/workflows/CI/badge.svg)
67603230 2
a6f63a82 3Solanum is an IRCv3 server designed to be highly scalable. It implements IRCv3.1 and some parts of IRCv3.2.
41976628 4
be9fb5ac 5It is meant to be used with an IRCv3-capable services implementation such as [Atheme][atheme] or [Anope][anope].
67603230 6
11f8fd45 7 [atheme]: https://atheme.github.io/
67603230
AC
8 [anope]: http://www.anope.org/
9
10# necessary requirements
11
12 * A supported platform
fcf13f6d
EM
13 * A working dynamic library system
14 * A working lex and yacc - flex and bison should work
15
16# platforms
17
fcd7f2da
DF
18Solanum is developed on Linux with glibc, but is currently portable to most POSIX-compatible operating systems.
19However, this portability is likely to be removed unless someone is willing to maintain it. If you'd like to be that
20person, please let us know on IRC.
fcf13f6d
EM
21
22# platform specific errata
23
fcd7f2da 24These are known issues and workarounds for various platforms.
fcf13f6d 25
c0d82abe
QP
26 * **macOS**: you must set the `LIBTOOLIZE` environment variable to point to glibtoolize before running autogen.sh:
27
28 ```bash
29 brew install libtool
30 export LIBTOOLIZE="/usr/local/bin/glibtoolize"
31 ./autogen.sh
32 ```
19ec5fb1 33
fcf13f6d
EM
34 * **FreeBSD**: if you are compiling with ipv6 you may experience
35 problems with ipv4 due to the way the socket code is written. To
2a833847 36 fix this you must: `sysctl net.inet6.ip6.v6only=0`
fcf13f6d 37
2a833847 38 * **Solaris**: you may have to set your `PATH` to include `/usr/gnu/bin` and `/usr/gnu/sbin` before `/usr/bin`
365feb39 39 and `/usr/sbin`. Solaris's default tools don't seem to play nicely with the configure script. When running
40 as a 32-bit binary, it should be started as:
41
42 ```bash
43 ulimit -n 4095 ; LD_PRELOAD_32=/usr/lib/extendedFILE.so.1 ./solanum
44 ```
67603230 45
75fd7ead 46# building
0409e18f 47
75fd7ead
EK
48```bash
49./autogen.sh
50./configure --prefix=/path/to/installation
51make
52make check # run tests
53make install
54```
55
56See `./configure --help` for build options.
0409e18f 57
67603230
AC
58# feature specific requirements
59
354fd351
AC
60 * For SSL/TLS client and server connections, one of:
61
2a833847
N
62 * OpenSSL 1.0.0 or newer (`--enable-openssl`)
63 * LibreSSL (`--enable-openssl`)
64 * mbedTLS (`--enable-mbedtls`)
65 * GnuTLS (`--enable-gnutls`)
354fd351 66
fd9f6521 67 * For certificate-based oper CHALLENGE, OpenSSL 1.0.0 or newer.
354fd351
AC
68 (Using CHALLENGE is not recommended for new deployments, so if you want to use a different TLS library,
69 feel free.)
67603230 70
fcd7f2da
DF
71 * For ECDHE under OpenSSL, on Solaris you will need to compile your own OpenSSL on these systems, as they
72 have removed support for ECC/ECDHE. Alternatively, consider using another library (see above).
67603230
AC
73
74# tips
75
2a833847 76 * To report bugs in Solanum, visit us at `#solanum` on [Libera Chat](https://libera.chat)
67603230 77
2a833847 78 * Please read [doc/index.txt](doc/index.txt) to get an overview of the current documentation.
67603230 79
2a833847 80 * Read the [NEWS.md](NEWS.md) file for what's new in this release.
fcf13f6d 81
2a833847 82 * The files, `/etc/services`, `/etc/protocols`, and `/etc/resolv.conf`, SHOULD be
67603230 83 readable by the user running the server in order for ircd to start with
2a833847
N
84 the correct settings. If these files are wrong, Solanum will try to use
85 `127.0.0.1` for a resolver as a last-ditch effort.
67603230 86
238db377
EM
87# git access
88
fcd7f2da 89 * The Solanum git repository can be checked out using the following command:
a6f63a82 90 `git clone https://github.com/solanum-ircd/solanum`
238db377 91
fcd7f2da 92 * Solanum's git repository can be browsed over the Internet at the following address:
a6f63a82 93 https://github.com/solanum-ircd/solanum