This is my first time trying to set up an ircd. To do so I had to cross compile it first since my NAS doesn't handle a compiler.
The cross-compiling went fine at the second try, it has been done on my ubuntu /usr/local folder then I chowned and chmoded recursively the whole Unreal3.2 folder I obtained to my ubuntu desktop user. This being done, I tar.gzed it using Ark, and then loaded it on my NAS through its webmin with root privileges.
On my NAS (arm chip, linux kernel), I re-chowned the tarball to root recursively and re-chmoded 755 recursively the tarball and moved it to the optware directory.
Here comes the extraction time : gunzip -d tarball.tar.gz and tar xvf tarball.tar
Until that point everything went well and I obtained a nice Unreal3.2 directory showing up after a ls -la.
By caution, I rechmoded recursively the newly obtained folder and chowned it recursively.
Evereything seems to be fine, so I tried ./Config
with following answers :
Code: Select all
Paradise-Lost> ./Config
_ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _ | | | | | / | | / _ |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
Configuration Program
for Unreal3.2.8.1
This program will help you to compile your IRC server, and ask you
questions regarding the compile-time settings of it during the process.
regarding the setup of it, during the process.
If you have problems regarding the setup & compile, read Unreal.nfo to get
more information on where to get help. Please, before running this setup,
read the documentation in the "doc" folder. Docs are also avail online @
http://www.unrealircd.com/unreal32docs.html
[Enter to continue]
Unreal3.2.8.1 Release Notes
============================
==[ ABOUT 3.2.8.1 RELEASE ]==
This Unreal3.2.8.1 release fixes a (serious) security issue regarding
allow::options::noident. The original release notes for 3.2.8 are below.
==[ GENERAL INFORMATION ]==
- If you are upgrading on *NIX, make sure you run 'make clean' and './Config'
first, before doing 'make'
- The official UnrealIRCd documentation is doc/unreal32docs.html
online version at: http://www.vulnscan.org/UnrealIRCd/unreal32docs.html
FAQ: http://www.vulnscan.org/UnrealIRCd/faq/
Read them before asking for help.
- Report bugs at http://bugs.unrealircd.org/
- When upgrading a network, we assume you are upgrading from the previous
version (3.2.7). Upgrading from 3.2.6 or 3.2.5 should also be no problem.
However, if you have a network running with servers that are several versions behind
(eg: 3.2.1) then you might experience small (desynch) problems.
Please also minimize the time you have multiple versions running, a few days or
one week is generally not a problem, but having mixed versions on a network for several
weeks or months is not recommended.
- The purpose of the sections below (NEW, CHANGED, MINOR, etc) is to be a SUMMARY of
the changes in this release. There have been 70+ changes, and trying to mention them
all would be useless, see the Changelog for the full list of changes.
==[ NEW ]==
- set::level-on-join: this defines which privileges a user receives when creating a
channel, default is 'chanop', the only other available setting is 'none' (opless).
- Away notification through WATCH: This allows clients to receive a notification
when someone goes away or comes back, along with a reason, a bit like IM's.
There's probably no current client supporting this but it would be a nice feature
in notify lists. Client developers: see Changes file for full protocol details.
This feature can be disabled by setting set::watch-away-notification to 'no'.
- Spamfilter: Slow spamfilter detection: For each spamfilter, Unreal will check,
each time it executes, how long it takes to execute. When a certain threshold is
reached the IRCd will warn or even remove the spamfilter. This could prevent a
spamfilter from completely stalling the IRCd. Warning is configured through
set::spamfilter::slowdetect-warn (default: 250ms) and automatic deletion is
configured by set::spamfilter::slowdetect-fatal (default: 500ms).
You can set both settings to 0 (zero) to disable slow spamfilter detection.
This feature is currently not available on Windows.
- SSL: set::ssl::server-cipher-list can be used to limit the allowed ciphers
- SSL: To specify when an SSL session key should be renegotiated you can use
set::ssl::renegotiate-bytes <bytes> and set::ssl::renegotiate-timeout <seconds>.
- UHNAMES support: This sends the full nick!ident@host in NAMES which can be
used by clients for their IAL. mIRC, Klient, etc support this.
- There have also been some behavior changes, which can be considered NEW, see
next section (CHANGED).
==[ CHANGED ]==
- IPv6: On IPv6 servers you no longer have to use ::ffff:1.2.3.4 IP's for IPv4 in the
config file, you can use the simple 1.2.3.4 form, as they are converted automatically.
- When someone is banned and /PARTs, the part reason (comment) is no longer shown
- ChanMode +S/+c: now strips/blocks 'reverse' as well
- Smart banning is now disabled by default because it was too annoying, this means that
f.e. if there's a ban on *!*@*.com then you can still add a ban on *!*@*.aol.com
- except ban { } now also protects against ZLINEs and ban ip { }
- Modules: user modes and channel modes without parameters (eg: +X) no longer have
to be PERManent, this means they can be upgraded/reloaded/unloaded on-the-fly.
==[ MAJOR BUGS FIXED ]==
- Zip links issue (Overflowed unzipbuf)
- Crash issue with 3rd party modules that introduce new channel modes w/parameters
- Mac OS X: Various issues which prevented the IRCd from booting up
- Remote includes (constant) crash with new curl/c-ares versions
- A few rare crash issues, including a crash when linking to another server
- In case of clock adjustments, the IRCd will no longer freeze when the time is
adjusted backwards, nor will it incorrectly throttle clients when adjusted forward.
However, because clock adjustments (time shifts) of more than xx seconds are
so dangerous (and will still cause a number of issues), big warnings are now
printed when they happen.
Morale: synchronize your system clock, or use the built-in timesync feature.
==[ MINOR BUGS FIXED ]==
- CGI:IRC: Several IPv6 issues, both on IPv6 IRCd's and CGI:IRC gateways
- IP masks in oper::from::userhost sometimes didn't match when they should
- (G)ZLINE's on IPv6 users were sometimes rejected
- CHROOTDIR works again
- OperOverride fixes
- Throttling is now more accurate
- And more... see Changelog
==[ KNOWN ISSUES ]==
- Regexes: Be careful with backreferences (\1, etc), certain regexes can slow the IRCd
down considerably and even bring it to a near-halt. In the spamfilter user target it's
usually safe though. Slow spamfilter detection can help prevent the slowdown/freeze,
but might not work in worst-case scenario's.
- Regexes: Possessive quantifiers such as, for example, "++" (not to be confused with "+")
are not safe to use, they can easily freeze the IRCd.
- Suse 10.3 in 64 bit mode (amd64, x64) is known to crash UnrealIRCd on-boot, this is
likely to be a Suse 10.3 bug as over 3 people reported it with that exact OS / arch.
==[ ADDITIONAL INFO ]==
* See Changelog for more details
[Enter to continue]
Many older operating systems have an insecure TCP/IP stack
which may be vulnerable to IP spoofing attacks, if you run
an operating system that is vulnerable to such attacks
enable this option. This option can also be useful to prevent
blind proxies from connecting (eg: HTTP POST proxies).
Do you want to enable the server anti-spoof protection?
[Yes] ->
What directory are all the server configuration files in?
[/opt/Unreal3.2] ->
What is the path to the ircd binary including the name of the binary?
[/opt/Unreal3.2/src/ircd] ->
Would you like to compile as a hub or as a leaf?
Type Hub to select hub and Leaf to select leaf.
[Leaf] ->
What is the hostname of the server running your IRCd?
[irc.paradize-lost.fr] ->
What should the default permissions for your configuration files be? (Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted reading of the file
[0600] ->
Do you want to support SSL (Secure Sockets Layer) connections?
[No] ->
Do you want to enable IPv6 support?
[No] ->
Do you want to enable ziplinks support?
[No] ->
Do you want to enable remote includes?
[No] ->
Do you want to enable prefixes for chanadmin and chanowner?
This will give +a the & prefix and ~ for +q (just like +o is @)
Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient,
PJIRC, irssi, CGI:IRC, etc.)
This feature should be enabled/disabled network-wide.
[Yes] ->
What listen() backlog value do you wish to use? Some older servers
have problems with more than 5, others work fine with many more.
[5] ->
How far back do you want to keep the nickname history?
[2000] ->
What is the maximum sendq length you wish to have?
[3000000] ->
How many buffer pools would you like?
This number will be multiplied by MAXSENDQLENGTH.
[18] ->
How many file descriptors (or sockets) can the IRCd use?
[1024] ->
Would you like any more parameters to configure?
Write them here:
[]->
./configure --with-showlistmodes --enable-nospoof --enable-prefixaq --with-listen=5 --with-dpath=/opt/Unreal3.2 --with-spath=/opt/Unreal3.2/src/ircd --with-nick-history=2000 --with-sendq=3000000 --with-bufferpool=18 --with-hostname=irc.paradize-lost.fr --with-permissions=0600 --with-fd-setsize=1024 --enable-dynamic-linking
Code: Select all
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
.Config --prefix=/opt --host=armle-unknown-linux --target=armle-unknown-linux --build=armle-unknown-linux
thinking although is purely useless that might trigger something (I have a toolchain in the parent directory)
but I got the very same issue than before, here is what is displayed after typing more config.log :
Code: Select all
Paradise-Lost> more config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ ./configure --with-showlistmodes --enable-nospoof --enable-prefixaq --with-listen=5 --with-dpath=/opt/Unreal3.2 --with-spath=/opt/Unreal3.2/src/ircd --with-nick-history=2000 --with-sendq=3000000 --with-bufferpool=18 --with-hostname=irc.paradize-lost.fr --with-permissions=0600 --with-fd-setsize=1024 --enable-dynamic-linking
## --------- ##
## Platform. ##
## --------- ##
hostname = Paradise-Lost
uname -m = armv5tel
uname -r = 2.6.32.12
uname -s = Linux
uname -v = #1742 Tue Jun 7 14:02:23 CST 2011
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /opt/bin
PATH: /opt/sbin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/syno/bin
PATH: /bin
PATH: /sbin
PATH: /usr/bin
PATH: /usr/sbin
PATH: /usr/syno/bin
PATH: /usr/syno/sbin
PATH: /usr/local/bin
PATH: /usr/local/sbin
PATH: /bin
PATH: /sbin
PATH: /usr/bin
PATH: /usr/sbin
PATH: /usr/syno/bin
PATH: /usr/syno/sbin
PATH: /usr/local/bin
PATH: /usr/local/sbin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:1791: checking for gcc
configure:1807: found /opt/bin/gcc
configure:1818: result: gcc
configure:2056: checking for C compiler version
configure:2063: gcc --version >&5
gcc (GCC) 4.2.3
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:2066: $? = 0
configure:2073: gcc -v >&5
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: ../gcc-4.2/configure --build=i386-pc-linux-gnu --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --prefix=/opt --disable-nls --disable-static --with-as=/home/slug/optware/cs08q1armel/toolchain/arm-2008q1/bin/arm-none-linux-gnueabi-as --with-ld=/home/slug/optware/cs08q1armel/toolchain/arm-2008q1/bin/arm-none-linux-gnueabi-ld --enable-languages=c,c++ --disable-multilib --enable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-pch --enable-shared --enable-symvers=gnu --enable-__cxa_atexit
Thread model: posix
gcc version 4.2.3
configure:2076: $? = 0
configure:2083: gcc -V >&5
gcc: '-V' option must have argument
configure:2086: $? = 1
configure:2109: checking for C compiler default output file name
configure:2136: gcc conftest.c >&5
/opt/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
configure:2139: $? = 1
configure:2177: result:
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:2184: error: C compiler cannot create executables
See `config.log' for more details.
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_prog_ac_ct_CC=gcc
## ----------------- ##
## Output variables. ##
## ----------------- ##
ALLOCA=''
BINDIR=''
CARESINCDIR=''
CARESLIBDIR=''
CARESLIBS=''
CC='gcc'
CFLAGS=''
CP=''
CPP=''
CPPFLAGS=''
CRYPTOLIB=''
DEFS=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
FD_SETSIZE=''
GMAKE=''
GREP=''
GUNZIP=''
HAVE_ZLIB=''
INSTALL=''
IRCDDIR=''
IRCDLIBS=''
LDFLAGS=''
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
MAKER=''
MKPASSWDLIBS=''
MODULEFLAGS=''
OBJEXT=''
OPENSSLPATH=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PKGCONFIG=''
RM=''
SHELL='/opt/bin/bash'
STRTOUL=''
TOUCH=''
TREINCDIR=''
TRELIBS=''
URL=''
ac_ct_CC='gcc'
bindir='${exec_prefix}/bin'
build_alias=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='NONE'
host_alias=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
## ----------- ##
## confdefs.h. ##
## ----------- ##
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
configure: exit 77
I not mastering linux yet though I have sufficient knowledge to use SSH and browse through directories , the thing about the error I obtain is that I think this might be related to something that has to do with symlinks and gcc configuration.
What am I doing wrong ? What should I do ?