Advertisement

You are here: Home > How-to > Ircd


Table of Content

    configure: error: no acceptable C compiler found in $PATH

    openssl binary and openssl development libraries

    Unrealircd 4.0.1 failing during ./Config fix on FreeBSD

    Linking - Rejecting link: clock is ... seconds behind/ahead.

    Synch the server clock

    Please build UnrealIRCd with --with-system-cares when enabling --enable-libcurl

    configure: error: Could not find curl-config, try editing --enable-libcurl

    You asked for libcURL (remote includes) support, but it can't be found at /home/curl


    configure: error: no acceptable C compiler found in $PATH


    Trys this:
    apt-get install build-essential
    apt-get install tcl tcl-dev

    Apparently you do not have both the openssl binary and openssl development libraries installed.


    You have two options:
    a) Install the needed binaries and libraries
    and run ./Config
    OR
    b) If you don't need SSL...
    Run ./Config and say 'no' when asked about SSL
    (or pass --disable-ssl to ./configure)
    Try this:
    apt-get install openssl
    apt-get install libssl-dev


    Unrealircd 4.0.1 failing during ./Config fix on FreeBSD


    configure: error:
    You have decided to build unrealIRCd with libcURL (remote includes) support.
    However, you have disabled system-installed c-ares support (--with-system-cares).
    Because UnrealIRCd will use a bundled copy of c-ares which may be incompatible
    with the system-installed libcURL, this is a bad idea which may result in error
    messages looking like:
    ``[error] unrealircd.conf:9: include: error downloading '(http://example.net/ex.conf)': Could not resolve host: example.net (Successful completion)''
    Or UnrealIRCd might even crash.
    Please build UnrealIRCd with --with-system-cares when enabling --enable-libcurl

    To fix this, you will have to

    cd unrealircd-4.0.1
    nano configure

    and than find this line:

    # Check whether --with-system-cares was given.
    if test "${with_system_cares+set}" = set; then :
    withval=$with_system_cares;
    else
    with_system_cares=no and change this line to: with_system_cares=yes
    fi

    Linking - Rejecting link: clock is ... seconds behind/ahead.


    When trying to link to another server the link may be rejected if the clocks don't match. Example error:

    Rejecting link xx.xx.xx[@X.X.X.X.X]: our clock is XXX seconds ahead. Correct time is very important in IRC. Please verify the clock on both services.test.net (them) and maintest.test.net (us), fix it and then try linking again

    Or from a link error: Your clock is -1337 seconds ahead of my clock. Please verify both your clock and mine, fix it and try linking again.
    This is a safety measure from UnrealIRCd, as having incorrect clocks can be a major source of trouble.

    Linking - (sync) Possible negative TS split at link server.blah.net (1078875430 - 1078875478 = -48)

    If you get such a warning this means your clocks are not synched.
    Correct time is VERY important for IRC servers, if the clocks are off for just 20 seconds you may run into trouble already. If your clocks are minutes or even hours off, you are guaranteed to have problems.
    To name a number of problems that will occur if your time is off:
    • temporary *lines/shuns will not expire correctly, they might expire like an hour earlier (or even directly on add) or later
    • sudden (wrong) nick collision kills
    • channels might not show up in /LIST (this requires the time to be off by 24h or more)
    • services might be unable to set a user +r (+r = register user)
    • more..

    Solution 1 (RECOMMENDED) (*NIX):

    Synch the server clock


    You should run ntpd (=daemon) or ntpdate (=simple util, usually ran via cron) on all your servers.. this is pretty easy to set up and once it's working it should take care of all your worries. Note however that this requires root access. On most Linux distro's you simply run
    apt-get install ntp
    or
    yum install ntp

    Once you are certain ntp is running (check your system log), then we recommend you to disable the build-in time synchronization in UnrealIRCd by adding this to your configuration file:
    set { timesynch { enabled no; }; };

    Solution 1 (RECOMMENDED) (Windows): Synch the server clock
    Newer Windows versions (XP and later) should automatically synchronize the clock. If it isn't working, google around.

    Solution 2: build-in time synchronization in UnrealIRCd
    UnrealIRCd has build-in NTP support and will try to synchronize the clock when it boots and then maintain an internal offset. This will make time appear correct (for the IRCd). Unfortunately this does not help against 'clock drift' where the time offset will change, for example if your clock is too slow it may be off by 2 seconds on the first day.. 4 seconds on the 2nd day.. and so on. Only NTP (see Solution 1) can help with this.

    Solution 3: Synch via services or /TSCTL
    We no longer recommend this. This can ONLY be used if your clock is off just for like <30 seconds because otherwise the IRCd may do all kinds of weird things (it really doesn't like time jumps of 30 seconds or more, in the future or in the past).
    Your services may provide this command, it's usually called TSCTL or something with TIME.

    Last Solution:
    If none of the above solution didn`t work, you may try to set the time on all your servers by using TSCTL OFFSET +|-
    We will give you example for error that can look like this: (taken from ircd.logs)

    [Sat Jun 25 05:59:52 2016] - Rejecting link [@50.100.200.254.39560]: our clock is 70 seconds ahead. Correct time is very important in IRC. Please verify the clock on both (them) and irc.zemra.org (us), fix it and then try linking again

    In this case the time in the current server is 70 seconds ahead from the server we are trying to link to, which means we will have to take 70 seconds off and we can do that like this:

    /TSCTL OFFSET - 70

    I hope this did resolve your linking problem, and wish you better luck in the future :)

    About time zones
    Note that linking ircds from different timezones is NO PROBLEM because GMT/UTC time is used for everything. It is however important that you have your time zone (and time) configured correctly. For example if you are on the eastcoast USA then don't set the time zone to westcoast with an eastcoast time.

    Please build UnrealIRCd with --with-system-cares when enabling --enable-libcurl

    checking /usr/bin/curl-config... yes
    configure: error:

    You have decided to build unrealIRCd with libcURL (remote includes) support.
    However, you have disabled system-installed c-ares support (--with-system-cares).
    Because UnrealIRCd will use a bundled copy of c-ares which may be incompatible
    with the system-installed libcURL, this is a bad idea which may result in error
    messages looking like:

    ``[error] unrealircd.conf:9: include: error downloading '(http://example.net/ex.conf)': Could not resolve host: example.net (Successful completion)''

    Or UnrealIRCd might even crash.
    Please build UnrealIRCd with --with-system-cares when enabling --enable-libcurl

    Do ./Config again, and when u`ll get to the step which is asking for custom parameters:

    Would you like to pass any custom parameters to configure?
    See `./configure --help' and write them here:
    type: --with-system-cares

    also make sure you do update and make sure you have installed libc-ares

    sudo apt-get update
    sudo apt-get install libc-ares-dev


    configure: error: Could not find curl-config, try editing --enable-libcurl

    Most of the times, small thinfs cauyse big errors
    If you are running into an error during ./Config and looks like:

    configure: error: in `/home/zemra/unrealircd-4.0.16.1':
    configure: error: Could not find curl-config, try editing --enable-libcurl
    See `config.log' for more details

    To work around the problem, if you have root on the machine, type:
    sudo yum install curl-devel
    And then then when you run ./Config and get asked for the path to curl answer this: /usr

    You asked for libcURL (remote includes) support, but it can't be found at /home/curl

    Do you want to enable remote includes?
    This allows stuff like this in your configuration file:
    include "http://www.zemra.org/files/opers.conf";
    [Yes] -> Yes

    Specify the directory you installed libcurl to
    [/home/curl] -> /usr