Anope IRC Services
Anope Support => 1.6.x (Read Only) => Topic started by: Sarten-X on April 05, 2006, 04:10:08 AM
-
I extracted the files to a directory, I ran configure, then I ran make. The files all compiled, but did give me 2 warnings:
gcc -O2 -D_REENTRANT -Wall -g -c encrypt.c
encrypt.c: In function "encrypt_":
encrypt.c:369: warning: pointer targets in passing argument 1 of "MD5Final" differ in signedness
gcc -O2 -D_REENTRANT -Wall -g -c main.c
main.c: In function "services_restart":
main.c:206: warning: implicit declaration of function "pthread_kill_other_threads_np"
And I get the following errors while linking:
gcc actions.o botserv.o channels.o chanserv.o commands.o compat.o converter.o config.o datafiles.o encrypt.o helpserv.o hostserv.o init.o language.o list.o log.o mail.o main.o memory.o memoserv.o messages.o misc.o modules.o news.o nickserv.o operserv.o process.o protocol.o proxy.o send.o sessions.o slist.o sockutil.o timeout.o users.o -lnsl -lresolv -lbsd -pthread -rdynamic -o services -ldl
main.o(.text+0x1ba): In function `services_restart':
/srv/anope-1.6.4/main.c:206: undefined reference to `pthread_kill_other_threads_np'
main.o(.text+0x94c): In function `main':
/srv/anope-1.6.4/main.c:501: undefined reference to `pthread_kill_other_threads_np'
collect2: ld returned 1 exit status
make: *** [services] Error 1
What's wrong, and how do I fix it? This happens even with threading disabled in configure, which was my first thought of what might be wrong.
[Edited on 5-4-2006 by Sarten-X]
-
try gmake?
-
Try disabling threads (i think 1.6.4 still ask's about the proxy scanner, it is all that uses threads) since you dont appear to have pthread libs available ;)
-
configure doesn't ask about the proxy scanner, and I have disabled threads... I'll try getting the pthread libraries...
Yes, I've also tried gmake...
-
The following question _is_ asked during a ./configure of 1.6.4.
Do you want to compile Anope with threading support?
If you want to use the proxy detector, you MUST have this. If you get
compilation errors, you should disable this feature and try again.
[no]
Say no if you do not have the pthread libs.. :)
-
I answered no to that question, and it still didn't work...
However, working off the knowledge that that's the only thing pthread's used for, I commented out the two offending lines in the source., and it works. Assuming that the routine does what it implies, this should result in only a small memory leak, at most. Since this is a personal network, I no longer care.
This is one of the places... it seems to be ok...
/* Restarts services */
static void services_restart(void)
{
alog("Restarting");
if (!quitmsg)
quitmsg = "Restarting";
send_cmd(ServerName, "SQUIT %s :%s", ServerName, quitmsg);
disconn(servsock);
close_log();
#if defined(LINUX20) || defined(LINUX22)
//pthread_kill_other_threads_np();
#endif
execve(SERVICES_BIN, my_av, my_envp);
if (!readonly) {
open_log();
log_perror("Restart failed");
close_log();
}
}
Thanks for the help!
-
Just say no to threading.. or move up to 1.7.x