Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-10-2012, 03:38 AM
Hool
Fire Beetle
 
Join Date: May 2010
Location: Texas
Posts: 16
Question bot.o error on compile

I'm struggling to enable bots. Following this guide,

http://code.google.com/p/projecteqemu/wiki/BOTSCompile,

I have made carefull changes to the files as indicated, being carefull to only insert text where required, and not changing the begining of the line in ./zone/makefile.common

The results thus far have ended in the following errors
Code:
make[1]: *** [bot.o] Error 1
make[1]: Leaving directory `/home/eqemu/source/zone'
make: *** [all] Error 2


Below are the modified files

./zone/makefile
Code:
HCC=$(shell ccache -V 2>/dev/null)
ifneq (,$(findstring version,$(HCC)))
        CC=ccache gcc
else
        CC=gcc
endif

OUT=-o
LINKOUT=-o
NOLINK=-c
LINKER=gcc
MYSQL_FLAGS=$(shell mysql_config --cflags)
MYSQL_LIB=$(shell mysql_config --libs)
DFLAGS=-DEQDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DFIELD_ITEMS -DCOMBINED -DAPP_OPCODE_SIZE=2 -Di386 -DBOTS
#try commenting out the following three lines to disable embedded perl
PERL_FLAGS=$(shell perl -MExtUtils::Embed -e ccopts)
PERL_LIB=$(shell perl -MExtUtils::Embed -e ldopts)
DFLAGS+=-DEMBPERL -DEMBPERL_PLUGIN -DHAS_UNION_SEMUN
WFLAGS=-Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wno-deprecated  -Wcomment -Wcast-align
COPTS=$(WFLAGS) -O -g -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE $(DFLAGS) $(MYSQL_FLAGS) $(PERL_FLAGS)
LINKOPTS=$(COPTS) -rdynamic -L. -lstdc++ -ldl $(MYSQL_LIB) $(PERL_LIB)

all: zone

include .depend

include makefile.common

.depend depend:
        for f in $(SF); \
        do \
                i=`echo $$f | sed -e 's#.obj/#../common/#g' -e 's/\.o/.cpp/g' `; \
                gcc -MM $(COPTS) $$i | sed "s#^[^ ]*:#$$f:#g"; \
        done  >.depend

wine:
        $(MAKE) -f makefile.wine
./zone/makefile.common
Code:
APP=zone
#the non-perl zone can still compile and link all the perl objects
#because they are all #ifdef'd out anyways..
SF= .obj/EQPacket.o .obj/EQStream.o .obj/EQStreamFactory.o .obj/CRC16.o \
   ../common/timer.o  ../common/packet_dump.o ../common/packet_functions.o \
   ../common/unix.o ../common/packet_dump_file.o ../common/Mutex.o ../common/MiscFunctions.o \
   zone.o entity.o mob.o client.o client_process.o npc.o net.o spawn2.o attack.o hate_list.o \
   ../common/serverinfo.o ../common/moremath.o worldserver.o spells.o spawngroup.o loottables.o \
   faction.o Map.o watermap.o PlayerCorpse.o petitions.o MobAI.o Object.o ../common/eqtime.o \
   groups.o ../common/classes.o ../common/races.o ../common/TCPConnection.o forage.o \
   ../common/crc32.o ../common/guilds.o ../common/md5.o ../common/dbcore.o \
   ../common/dbasync.o zonedbasync.o parser.o embperl.o embparser.o \
   ../common/EMuShareMem.o ../common/EQEMuError.o ../common/ptimer.o \
   .obj/debug.o .obj/database.o .obj/Item.o .obj/misc.o tribute.o \
   doors.o command.o beacon.o embxs.o AA.o trap.o client_packet.o \
   bonuses.o trading.o spdat.o  spell_effects.o aggro.o guild.o \
   inventory.o client_mods.o tradeskills.o waypoints.o pets.o zone_profile.o \
   effects.o perl_client.o perl_doors.o perl_entity.o perl_mob.o perl_questitem.o perl_npc.o \
   perl_PlayerCorpse.o perl_groups.o perl_raids.o questmgr.o client_logs.o perlparser.o \
   ../common/rdtsc.o ../common/extprofile.o horse.o exp.o pathing.o \
   fearpath.o special_attacks.o ../common/timeoutmgr.o ../common/Condition.o \
   .obj/opcodemgr.o .obj/emu_opcodes.o ../common/SharedLibrary.o zoning.o \
   titles.o perlpacket.o perl_perlpacket.o zonedb.o ../common/shareddb.o \
   ../common/logsys.o .obj/rulesys.o ../common/logsys_eqemu.o \
   ../common/EQEmuConfig.o ZoneConfig.o ../common/XMLParser.o ../common/tinyxml/tinystr.o \
   ../common/tinyxml/tinyxml.o ../common/tinyxml/tinyxmlerror.o ../common/tinyxml/tinyxmlparser.o \
   ../common/EQStreamProxy.o ../common/patches/patches.o \
   ../common/patches/Client62.o ../common/patches/Titanium.o \
   ../common/patches/Anniversary.o ../common/patches/SoF.o ../common/patches/SoD.o \
   ../common/StructStrategy.o ../common/EQStreamProxy.o ../common/EQStreamIdent.o \
   ../common/patches/Underfoot.o ../common/patches/HoT.o ../common/patches/VoA.o \
   zone_logsys.o ../common/BasePacket.o ../common/worldconn.o \
   ../common/EmuTCPConnection.o ../common/EmuTCPServer.o ../common/TCPServer.o \
   ../common/guild_base.o bot.o botspellsai.o \
   guild_mgr.o tasks.o raids.o perl_hateentry.o perl_object.o QGlobals.o QuestParserCollection.o


all: $(APP)


$(APP): $(SF)
        $(LINKER) $(LINKOUT)$@ $^ $(LINKOPTS)

clean:
        rm -f .depend $(SF) $(APP)

%.o: %.cpp
        $(CC) $(NOLINK) $(COPTS) $< $(OUT)$@

.obj/%.o: ../common/%.cpp ../common/%.h
        mkdir -p .obj
        $(CC) $(COPTS) $(NOLINK) $< $(OUT)$@
./world/makefile
Code:
HCC=$(shell ccache -V 2>/dev/null)
ifneq (,$(findstring version,$(HCC)))
        CC=ccache gcc
else
        CC=gcc
endif

LINKER=gcc
#the spaces on the end of these are important
OUT=-o
LINKOUT=-o
NOLINK=-c
DFLAGS=-DDEBUG=5 -DEQDEBUG=5 -DSHAREMEM -DCATCH_CRASH -DNO_PIDLOG -DFIELD_ITEMS -DIRC -Di386 -DAPP_OPCODE_SIZE=2 -DBOTS
WFLAGS=-Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wcomment -Wcast-align -Wno-deprecated

PERL_FLAGS=$(shell perl -MExtUtils::Embed -e ccopts)
PERL_LIB=$(shell perl -MExtUtils::Embed -e ldopts)
DFLAGS+=-DEMBPERL -DEMBPERL_PLUGIN -DHAS_UNION_SEMUN

MYSQL_FLAGS=$(shell mysql_config --cflags)
MYSQL_LIB=$(shell mysql_config --libs)

COPTS=$(WFLAGS) -g -march=i686 -O -pthread -pipe -I../common/SocketLib \
  -DFX -D_GNU_SOURCE -DINVERSEXY -DWORLD $(DFLAGS) $(MYSQL_FLAGS) $(PERL_FLAGS)
LINKOPTS=$(COPTS) -rdynamic -L. -lstdc++ -lm -lz -ldl \
  $(MYSQL_LIB) $(PERL_LIB)

all: world


include .depend

include makefile.common

.depend depend:
        for f in $(SF); \
        do \
                i=`echo $$f | sed -e 's#.obj/#../common/#g' -e 's/\.o/.cpp/g' `; \
                gcc -MM $(COPTS) $$i | sed "s#^[^ ]*:#$$f:#g"; \
        done  >.depend


wine:
        $(MAKE) -f makefile.wine
Reply With Quote
  #2  
Old 07-10-2012, 03:47 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

You are probably getting the same error as this thread:

http://www.eqemulator.org/forums/showthread.php?t=35528

Kayen posted how to fix the source there manually until he can get an update on the SVN to correct it.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 07-10-2012, 04:07 AM
Hool
Fire Beetle
 
Join Date: May 2010
Location: Texas
Posts: 16
Default

Just compiled and can confirm that this does indeed resolve the problem


Replace in bot.cpp

Code:
other->TriggerDefensiveProcs(this);
with

Code:
TriggerDefensiveProcs(weapon, other, Hand, damage);
[/QUOTE]


Cheers!
Reply With Quote
  #4  
Old 07-13-2012, 01:06 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

This has been fixed in Rev 2164.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:49 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3