]>
Commit | Line | Data |
---|---|---|
24508953 | 1 | # solanum ![Build Status](https://github.com/solanum-ircd/solanum/workflows/CI/badge.svg) |
67603230 | 2 | |
a6f63a82 | 3 | Solanum is an IRCv3 server designed to be highly scalable. It implements IRCv3.1 and some parts of IRCv3.2. |
41976628 | 4 | |
be9fb5ac | 5 | It 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 | ||
a6f63a82 | 18 | Solanum is designed with portability in mind, but does not target older systems nor those of solely academic |
fcf13f6d EM |
19 | interest. |
20 | ||
21 | Do note that operating systems are only supported if they are supported by their vendor. | |
22 | ||
23 | ## Tier 1 | |
24 | ||
25 | These platforms are the best supported, and should always work. They are actively tested. If you encounter | |
26 | problems, please file a bug. | |
27 | ||
28 | * FreeBSD 10.x and above (i386 and amd64) | |
29 | * Linux 2.6.x and above with glibc or musl (i386, x86_64, and ARM) | |
c0d82abe | 30 | * macOS 10.7 and above |
fcf13f6d EM |
31 | * Windows Vista/Server 2008 and above (x86 or x64) |
32 | ||
33 | ## Tier 2 | |
34 | ||
61566826 EM |
35 | These platforms are supported and occasionally tested, and most features should work, but this is not |
36 | guaranteed. If you find any problems, file a bug, but as these are not regularly tested platforms, a timely | |
37 | resolution may not be possible. | |
fcf13f6d EM |
38 | |
39 | * DragonflyBSD 4.4 and above (i386) | |
40 | * Linux with uClibc (i386 or x86_64) | |
41 | * NetBSD 6.1.x and above (i386, amd64) | |
42 | * OpenBSD 5.6 and above (i386, amd64) | |
43 | * Solaris 10 and above (i386) | |
44 | ||
45 | ## Tier 3 | |
46 | ||
a6f63a82 | 47 | Anything else that hasn't been tested. Solanum may or may not work on it; patches welcome if they don't. |
fcf13f6d EM |
48 | |
49 | # platform specific errata | |
50 | ||
51 | These are known issues and workarounds for supported platforms. | |
52 | ||
c0d82abe QP |
53 | * **macOS**: you must set the `LIBTOOLIZE` environment variable to point to glibtoolize before running autogen.sh: |
54 | ||
55 | ```bash | |
56 | brew install libtool | |
57 | export LIBTOOLIZE="/usr/local/bin/glibtoolize" | |
58 | ./autogen.sh | |
59 | ``` | |
19ec5fb1 | 60 | |
fcf13f6d EM |
61 | * **FreeBSD**: if you are compiling with ipv6 you may experience |
62 | problems with ipv4 due to the way the socket code is written. To | |
2a833847 | 63 | fix this you must: `sysctl net.inet6.ip6.v6only=0` |
fcf13f6d | 64 | |
2a833847 N |
65 | * **Solaris**: you may have to set your `PATH` to include `/usr/gnu/bin` and `/usr/gnu/sbin` before `/usr/bin` |
66 | and `/usr/sbin`. Solaris's default tools don't seem to play nicely with the configure script. | |
67603230 | 67 | |
75fd7ead | 68 | # building |
0409e18f | 69 | |
75fd7ead EK |
70 | ```bash |
71 | ./autogen.sh | |
72 | ./configure --prefix=/path/to/installation | |
73 | make | |
74 | make check # run tests | |
75 | make install | |
76 | ``` | |
77 | ||
78 | See `./configure --help` for build options. | |
0409e18f | 79 | |
67603230 AC |
80 | # feature specific requirements |
81 | ||
354fd351 AC |
82 | * For SSL/TLS client and server connections, one of: |
83 | ||
2a833847 N |
84 | * OpenSSL 1.0.0 or newer (`--enable-openssl`) |
85 | * LibreSSL (`--enable-openssl`) | |
86 | * mbedTLS (`--enable-mbedtls`) | |
87 | * GnuTLS (`--enable-gnutls`) | |
354fd351 | 88 | |
fd9f6521 | 89 | * For certificate-based oper CHALLENGE, OpenSSL 1.0.0 or newer. |
354fd351 AC |
90 | (Using CHALLENGE is not recommended for new deployments, so if you want to use a different TLS library, |
91 | feel free.) | |
67603230 | 92 | |
fd9f6521 AJ |
93 | * For ECDHE under OpenSSL, on Solaris and RHEL/Fedora (and its derivatives such as CentOS) you will |
94 | need to compile your own OpenSSL on these systems, as they have removed support for ECC/ECDHE. | |
95 | Alternatively, consider using another library (see above). | |
67603230 AC |
96 | |
97 | # tips | |
98 | ||
2a833847 | 99 | * To report bugs in Solanum, visit us at `#solanum` on [Libera Chat](https://libera.chat) |
67603230 | 100 | |
2a833847 | 101 | * Please read [doc/index.txt](doc/index.txt) to get an overview of the current documentation. |
67603230 | 102 | |
2a833847 | 103 | * Read the [NEWS.md](NEWS.md) file for what's new in this release. |
fcf13f6d | 104 | |
2a833847 | 105 | * The files, `/etc/services`, `/etc/protocols`, and `/etc/resolv.conf`, SHOULD be |
67603230 | 106 | readable by the user running the server in order for ircd to start with |
2a833847 N |
107 | the correct settings. If these files are wrong, Solanum will try to use |
108 | `127.0.0.1` for a resolver as a last-ditch effort. | |
67603230 | 109 | |
238db377 EM |
110 | # git access |
111 | ||
a6f63a82 EK |
112 | * The Solanum GIT repository can be checked out using the following command: |
113 | `git clone https://github.com/solanum-ircd/solanum` | |
238db377 | 114 | |
a6f63a82 EK |
115 | * Solanum's GIT repository depot can be browsed over the Internet at the following address: |
116 | https://github.com/solanum-ircd/solanum |