Known Eggdrop Errors

From EggWiki
Revision as of 19:39, 8 March 2022 by Geo (talk | contribs) (→‎Compiling without SSL/TLS Libraries)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

There are a few known issues with Eggdrop v1.9.2

Eggdrop v1.9.2

Compiling on OpenBSD

When compiling 1.9.2 on OpenBSD, you may encounter an error that looks like this:

Making core eggdrop files...
 
cc -g -O2 -pipe -Wall -I.. -I.. -DHAVE_CONFIG_H -I/usr/local/include/tcl8.5 -c bg.c
In file included from bg.c:25:
In file included from ./main.h:90:
./eggdrop.h:791:3: error: unknown type name 'pthread_mutex_t'
pthread_mutex_t mutex;
^
1 error generated.
*** Error 1 in src (Makefile:83 'bg.o')

This is a result of OpenBSD handling libraries a little differently. You can workaround this by configuring Eggdrop with the following flag:

./configure --disable-tdns

This will allow Eggdrop to compile, but you will not be able to take advantage of the asynchronous DNS capability. This issue should be fixed in 1.9.3.

Compiling without SSL/TLS Libraries

If the machine you are not on does not have SSL/TLS libraries installed (necessary for secure communications), you may encounter an error like this:

gcc -g -O2 -pipe -Wall -I.. -I..  -DHAVE_CONFIG_H -I/usr/include -g3 -DDEBUG -DDEBUG_ASSERT -DDEBUG_MEM -DDEBUG_DNS  -c botcmd.c
botcmd.c: In function ‘bot_nlinked’:
botcmd.c:726:53: error: ‘struct dcc_t’ has no member named ‘ssl’
 726 |   addbot(newbot, dcc[idx].nick, next, x, i, dcc[idx].ssl);
     |                                                     ^
make[1]: *** [Makefile:83: botcmd.o] Error 1
make[1]: Leaving directory '/home/michael/projects/eggdrop5/eggdrop/src'
make: *** [Makefile:251: debug] Error 2

and

gcc -fPIC -g -O2 -pipe -Wall -I. -I../../.. -I../../.. -I../../../src/mod  -DHAVE_CONFIG_H -I/usr/include -g3 -DDEBUG -DDEBUG_ASSERT -DDEBUG_MEM -DDEBUG_DNS  -DMAKING_MODS -c .././server.mod/server.c && mv -f server.o ../
In file included from .././server.mod/server.c:154:
.././server.mod/tclserv.c: In function ‘tcl_server’:
.././server.mod/tclserv.c:534:38: error: ‘struct server_list’ has no member named ‘ssl’
 534 |       snprintf(s, sizeof s, "%s%d", z->ssl ? "+" : "", z->port);
     |                                      ^~

To resolve this, you must install a library that supports TLS (this requires root privilege to do).

On Debian/Ubuntu:

sudo apt-get install libssl-dev

On Fedora/CentOS:

yum install libssl-devel

On FreeBSD:

pkg install security/openssl-devel

... then recompile to finish the install.