plugins system error

ucell_uz

New member
Messages
44
Points
0
Github
https://github.com/HerculesWS/Hercules
guys, those who faced with the installation of plug-ins for Hercules, need your HELP

I was worn out, well, I did not get to fill in at least one plug-in did everything through guide as indicated HERE

and nothing comes nothing, tumbled erorrs ... can anyone advise what?

 
config.status: creating Makefile
config.status: creating src/common/Makefile
config.status: creating 3rdparty/mt19937ar/Makefile
config.status: creating 3rdparty/libconfig/Makefile
config.status: creating src/char/Makefile
config.status: creating src/login/Makefile
config.status: creating src/map/Makefile
config.status: creating src/plugins/Makefile
config.status: creating src/tool/Makefile
config.status: creating src/test/Makefile
config.status: creating tools/HPMHookGen/Makefile
        MAKE    plugins
make[1]: Entering directory `/mnt/500GB/ragnarok-server/src/plugins'
make[1]: *** Нет правила для сборки цели `../../plugins/db2sql.so', требуемой для `db2sql'.  Stop.
make[1]: Leaving directory `/mnt/500GB/ragnarok-server/src/plugins'
make: *** [plugins] Error 2
 

h-215.jpg



if you please please describe the process for more small details for the Nubs ...)

what where and in what folder, I tried different options and it does not work - (

I used the penultimate version of the Hercules for kernel 2.6

 
Last edited by a moderator:
Can you show us your "src/plugins/Makefile.in" contents.

Also, could you tell us how you compile the server/plugins (by which command)

 
my makefile.in

compiling command

make plugins is default

# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
# Copyright © 2013-2015 Hercules Dev Team
#
# Hercules is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

# @configure_input@

################ PLUGIN CONFIGURATION ##############################
# #
# When you add a plugin, add its name here: #
# Example: if you have a plugin named my_cool_plugin.c and another #
# one named my_second_plugin.c, add them to the list like this: #
# #
# MYPLUGINS = my_cool_plugin my_second_plugin #
# #
# This is only needed if you want to build your plugin through #
# 'make plugins' or 'make all'. If you don't add it to this list, #
# you will still be able to build your plugin through #
# 'make plugin.my_plugin' #
# #
# Note: DO NOT include the .c extension!!! #

MYPLUGINS = plugins

# #
######### DO NOT EDIT ANYTHING BELOW THIS LINE!!! ##################

# All plugins in the src/plugins directory
HPMHOOKING = $(addprefix HPMHooking_, login char map)
ALLPLUGINS = $(filter-out HPMHooking, $(basename $(wildcard *.c))) $(HPMHOOKING)

# Plugins that will be built through 'make plugins' or 'make all'
PLUGINS = manner $(MYPLUGINS)

COMMON_D = ../common
COMMON_H = $(wildcard $(COMMON_D)/*.h)
COMMON_INCLUDE = -I..

THIRDPARTY_INCLUDE = -I../../3rdparty

CONFIG_D = ../config
CONFIG_H = $(wildcard $(CONFIG_D)/*.h) $(wildcard $(CONFIG_D)/*/*.h)

MAP_H = $(wildcard ../map/*.h)
CHAR_H = $(wildcard ../char/*.h)
LOGIN_H = $(wildcard ../login/*.h)
ALL_H = $(COMMON_H) $(CONFIG_H) $(MAP_H) $(CHAR_H) $(LOGIN_H)

@SET_MAKE@

CC = @CC@
export CC

#####################################################################
.PHONY: all $(ALLPLUGINS) HPMHooking clean buildclean help

all: $(PLUGINS) Makefile

$(ALLPLUGINS): %: ../../plugins/%@DLLEXT@
@echo " PLUGIN $@"

HPMHooking: $(HPMHOOKING)

buildclean:
@echo " CLEAN plugins (build temp files)"
@rm -rf *.o

clean: buildclean
@echo " CLEAN plugins"
@rm -rf ../../plugins/*@DLLEXT@

help:
@echo "possible targets are $(PLUGINS:%='%') 'all' 'clean' 'help'"
@echo ""
@echo "$(PLUGINS:%='%')"
@echo " - builds a specific plugin"
@echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects"
@echo "'buildclean' - cleans build temporary (object) files, without deleting the"
@echo " compiled plugins"
@echo "'help' - outputs this message"

#####################################################################

Makefile: Makefile.in
@$(MAKE) -C ../.. src/plugins/Makefile

.SECONDEXPANSION:

../../plugins/%@DLLEXT@: %.c $(ALL_H) $$(shell ls %/* 2>/dev/null)
@echo " CC $<"
@$(CC) $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @PLUGINSTATIC@ @DEFS@ @CFLAGS@ @PCRE_CFLAGS@ @CPPFLAGS@ @LDFLAGS@ @SOFLAGS@ -o $@ $<

../../plugins/HPMHooking_login@DLLEXT@: HPMHOOKINGTYPE = LOGIN
../../plugins/HPMHooking_char@DLLEXT@: HPMHOOKINGTYPE = CHAR
../../plugins/HPMHooking_map@DLLEXT@: HPMHOOKINGTYPE = MAP

../../plugins/HPMHooking_%@DLLEXT@: HPMHooking.c $(ALL_H) $$(shell ls HPMHooking/*_%* HPMHooking/*_common* 2>/dev/null)
@echo " CC $< ($(HPMHOOKINGTYPE))"
@$(CC) -DHPMHOOKING_$(HPMHOOKINGTYPE) $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @PLUGINSTATIC@ @DEFS@ @CFLAGS@ @PCRE_CFLAGS@ @CPPFLAGS@ @LDFLAGS@ @SOFLAGS@ -o $@ $<

I edited the config /conf/plugins.conf added to the plug-in example manner

manner.c threw a folder /src/plugins/

I am writing make plugins and then tumbled errors

 
Last edited by a moderator:
looks like you forgot to run command

make clean

...
I'm not an idiot, then the command make clean absolutely nothing to do with.
After commands make distclean, make clean here is powerless -)

and now that you know, after the change of something, or add a plug-in, do not necessarily use the command make clean

if you do not know the answer to this question, it is better not say anything!

 
Last edited by a moderator:
looks like you forgot to run command

make clean

...
I'm not an idiot, then the command make clean absolutely nothing to do with.
After commands make distclean, make clean here is powerless -)

and now that you know, after the change of something, or add a plug-in, do not necessarily use the command make clean

if you do not know the answer to this question, it is better not say anything!
@Offtop : Гугл транслейт х*ево переводит.. Них*я не понятно что ты там пишешь, только общий смысл улавливаю...

@OnTopic:

You don't have the troubled plugin : 

make[1]: *** Нет правила для сборки цели `../../plugins/db2sql.so', требуемой для `db2sql'.  Stop.

in the 

makefile.in

MYPLUGINS = plugins

So i supposed you forgot to run command

make clean 

before rebuilding....

 
Last edited by a moderator:
Can you show us your "src/plugins/Makefile.in" contents.

Also, could you tell us how you compile the server/plugins (by which command)
I still tormented by the question, why in Makefile.inall: $(PLUGINS) Makefile

$(ALLPLUGINS): %: ../../plugins/%@DLLEXT@
@echo " PLUGIN $@
used line $(ALLPLUGINS): %: ../../plugins/%@DLLEXT@i'm not used windows system, i need *.so binnary file

 
MYPLUGINS = plugins

^ above is the problem, it should only list custom plugin file names, if you don't have any custom plugin, simply

MYPLUGINS =

^ would work fine.

 
MYPLUGINS = plugins

^ above is the problem, it should only list custom plugin file names, if you don't have any custom plugin, simply

MYPLUGINS =

^ would work fine.
I understand everything, that's how it was by default, but there were errors during compilation

by default line makefile.in

PLUGINS = sample db2sql HPMHooking_char HPMHooking_login HPMHooking_map $(MYPLUGINS)

but still are errors

sample.so error 2

stood value

I shot a video for you, look at what is the problem and how to solve it?

 
Last edited by a moderator:
What if you just remove sample plugin from compiling? Will the next one error?

(I mean, it's not needed anyway. It's just a sample on how to write/compile/use plugins)

 
Last edited by a moderator:
If you changed any of Makefile.in or have non standard system, compiler, whatever, you should run at first:

./configure
and only after if configure not failed, run:

make
 

If configure failed, before need run:

autoreconf -i
 
Last edited by a moderator:
Hm, show output from command:

git dff
 
probably you changed some files, and forgot what and how changed. If you not using git, then probably it's time to start to use it.

Also try run autoreconf -i, then configure and then make.

Also better write in russian, because translators like google translate creating horrible sentenses.

Another thing because look like you corrupted some make files related to plugins, you can try not build plugins.

try command:

Code:
make sql
 
Last edited by a moderator:
Back
Top