Page 1 of 1

Problem loading modules

Posted: Fri Mar 03, 2006 7:36 pm
by leatherface
Hello,

I've been looking here on the forums about that same problem I have with others:

Code: Select all

* Loading IRCd configuration ..
* unrealircd.conf:2: loadmodule src/modules/m_antidccbug.so: failed to load: tmp/8FEB220A.m_antidccbug.so: ELF file OS ABI invalid
[error] IRCd configuration failed to load
Possible error encountered (IRCd seemily not started)
=====================================================
Check above for possible errors, and this output of  
ircd.log. If you cannot solve the problem, read
Unreal.nfo on where to get support
=====================================================
This happens when I try booting my ircd.
Now I recompiled the whole ircd and I still have the problem.
chmods are good and all files that should be loaded are in the dirs.
Even when I try booting in root (which isn't safe but I had to try), it gives
me the same error.


Could someone help me out please.


Thank You

Posted: Fri Mar 03, 2006 7:43 pm
by Grunt
1. Make sure the file m_antidccbug.so is in the right place.
2. Make sure it is compiled correctly
3. Make sure unrealircd has permission to read it

Posted: Fri Mar 03, 2006 8:12 pm
by leatherface
Yup everything you mentioned there is fine.
But it still shows me the same error.

Posted: Fri Mar 03, 2006 10:01 pm
by Grunt
The only thing I see wrong may be the fact that it could have been compiled for another Operating System. Maybe copied the file from a distro to another? Or from Linux to Unix/*BSD or viceversa?

Posted: Sat Mar 04, 2006 12:59 am
by leatherface
Well yes I copied the modules from another ircd on a FreeBSD 4.11 to a ircd on a FC4. Could that be the problem? But I first copied the files to the modules dir and then recompiled...

Thanks for helping

Posted: Sat Mar 04, 2006 11:34 am
by Syzop
There's your problem. ALWAYS fully recompile unreal and all the 3rd party mods you use ;).

Personally, if I move a box or copy things over I always rm *.so in the target modules dir (eg: /home/irc/ircd/modules/*.so), because it's easy to forget to recompile a module. For example: you recompile whole unreal etc, but forget to recompile the 3rd party mods.

Posted: Sat Mar 04, 2006 1:11 pm
by arbiter
I had same problem before , but by make clean and making again it solved.

Posted: Sat Mar 04, 2006 3:07 pm
by leatherface
So when I add a new module in the "scr/modules" dir, do I need to configure a file so I can recompile it? I tried editing the "Makefile.in"

for example:

I add "commandsno.c" to the "modules" dir:

I then added the commandsno to the "Makefile.in"

Code: Select all

R_MODULES= \
              ..................... etc etc etc
              commandsno.so

COMMANDS=...............etc etc etc
              commandsno.o



#############################################################################
#             commands.so's .o's section
#############################################################################


...............
other modules............
.............

commandsno.o: commandsno.c $(INCLUDES)
	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c commandsno.c



#############################################################################
#             .so's section
#############################################################################

...............
other modules............
.............

commandsno.so: commandsno.c $(INCLUDES)
	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
		-o commandsno.so commandsno.c
When I type "make", it compiles.
And after few minutes of compiling I get an error:

Code: Select all

make[2]: *** [commands.so] Failed 1
make[2]: Leaving directory `/home/x/Unreal3.2/src/modules'
make[1]: *** [mods] Failed 2
make[1]: Leaving directory `/home/x/Unreal3.2/src'
make: *** [build] Failed 2

When I look in the modules dir, it only creates the *.o files from the new modules I've added and not the *.so files which I need to load for boot.



Thanks for replying guys

Posted: Sat Mar 04, 2006 3:14 pm
by leatherface
Oh nevermind I found how to do it.


Sorry for bothering again :)


Thanks