EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Revisions from 1015 to current (https://www.eqemulator.org/forums/showthread.php?t=29816)

prickle 10-17-2009 10:03 AM

Revisions from 1015 to current
 
Hi all,

Since SVN revision 1015 the compiles have been failing with:
Code:

QGlobals.cpp:23: warning: suggest parentheses around && within ||
QGlobals.cpp: In member function ‘void QGlobalCache::LoadByNPCID(uint32)’:
QGlobals.cpp:100: error: ‘atoi’ was not declared in this scope
QGlobals.cpp: In member function ‘void QGlobalCache::LoadByCharID(uint32)’:
QGlobals.cpp:119: error: ‘atoi’ was not declared in this scope
QGlobals.cpp: In member function ‘void QGlobalCache::LoadByZoneID(uint32)’:
QGlobals.cpp:138: error: ‘atoi’ was not declared in this scope
QGlobals.cpp: In member function ‘void QGlobalCache::LoadByGlobalContext()’:
QGlobals.cpp:156: error: ‘atoi’ was not declared in this scope
make[1]: *** [QGlobals.o] Error 1

Anyone else seeing these errors and/or know how to fix the error to allow successful compile?

pfyon 10-17-2009 03:07 PM

Same for me. Tried adding #include "stdlib.h" to QGlobals.cpp and just ended up with more errors down the line (involving Bot:: stuff).

Shin Noir 10-17-2009 03:37 PM

What compiler are you using? VS 2008? GCC?
I just compiled it in VS 2008, using rev 1020 (Not 1015, but looking at rev log I don't see qglobals being changed from rev 1015 to 1020).
I'm thinking that a GCC issue, with the formatting of errors.

========== Build: 5 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

I think KLS will glance at this and solve it in a matter of seconds! So I won't delve too deeply!

KLS 10-17-2009 04:18 PM

It's more an issue with microsoft's compiler being significantly smarter than GNU's :rolleyes:

erde 10-17-2009 04:32 PM

QGlobals.cpp should include stdlib.h

Code:

#include "../common/debug.h"
#include "../common/MiscFunctions.h"
#include "QGlobals.h"
#include "zonedb.h"

#include <stdlib.h>

void QGlobalCache::AddGlobal(uint32 id, QGlobal global)


prickle 10-17-2009 05:29 PM

Rev all revs after 1015 fail compile for me...

I'm using:

$ gcc --version
gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

==========================

I'll add the <stdlib.h> to the file and report back in a few...

prickle 10-17-2009 05:34 PM

adding
Code:

#include <stdlib.h>
to the QGlobals.cpp file allowed me to complete the compile...

Thanks folks!

pfyon 10-17-2009 06:10 PM

Getting a different error with rev 1021:

Code:

client.o: In function `memset':
/usr/include/bits/string3.h:82: warning: memset used with constant zero length parameter; this could be due to transposed parameters
/usr/include/bits/string3.h:82: warning: memset used with constant zero length parameter; this could be due to transposed parameters
entity.o: In function `EntityList::MobProcess()':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/entity.cpp:493: undefined reference to `EntityList::RemoveBot(unsigned short)'
entity.o: In function `EntityList::RemoveEntity(unsigned short)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/entity.cpp:2308: undefined reference to `EntityList::RemoveBotRaid(unsigned short)'
/home/eqemu/source/svn/trunk/EQEmuServer/zone/entity.cpp:2310: undefined reference to `EntityList::RemoveBot(unsigned short)'
spells.o: In function `Mob::SpellFinished(unsigned short, Mob*, unsigned short, unsigned short, unsigned int)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/spells.cpp:1563: undefined reference to `Bot::DoFinishedSpellGroupTarget(unsigned short, Mob*, unsigned short, bool&)'
/home/eqemu/source/svn/trunk/EQEmuServer/zone/spells.cpp:1497: undefined reference to `Bot::DoFinishedSpellSingleTarget(unsigned short, Mob*, unsigned short, bool&)'
/home/eqemu/source/svn/trunk/EQEmuServer/zone/spells.cpp:1529: undefined reference to `Bot::DoFinishedSpellAETarget(unsigned short, Mob*, unsigned short, bool&)'
command.o: In function `command_bot(Client*, Seperator const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/command.cpp:10598: undefined reference to `Bot::ProcessBotCommands(Client*, Seperator const*)'
client_packet.o: In function `Client::Handle_OP_InspectRequest(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/client_packet.cpp:5724: undefined reference to `Bot::ProcessBotInspectionRequest(Bot*, Client*)'
client_packet.o: In function `Client::Handle_OP_GroupInvite2(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/client_packet.cpp:5403: undefined reference to `Bot::ProcessBotGroupInvite(Client*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
client_packet.o: In function `Client::Handle_OP_Camp(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/client_packet.cpp:2829: undefined reference to `Bot::DestroyBotObjects(Client*)'
client_packet.o: In function `Client::Handle_OP_TradeAcceptClick(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/client_packet.cpp:4288: undefined reference to `Bot::FinishTrade(Client*, Bot::botTradeType)'
aggro.o: In function `Mob::IsAttackAllowed(Mob*, bool)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/aggro.cpp:671: undefined reference to `Bot::IsBotAttackAllowed(Mob*, Mob*, bool&)'
/home/eqemu/source/svn/trunk/EQEmuServer/zone/aggro.cpp:671: undefined reference to `Bot::IsBotAttackAllowed(Mob*, Mob*, bool&)'
zoning.o: In function `Client::Handle_OP_ZoneChange(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/zoning.cpp:38: undefined reference to `Bot::DestroyBotObjects(Client*)'
collect2: ld returned 1 exit status
make[1]: *** [zone] Error 1
make[1]: Leaving directory `/home/eqemu/source/svn/trunk/EQEmuServer/zone'
make: *** [all] Error 2

This is after running make clean to force it to recompile everything.

AndMetal 10-17-2009 06:25 PM

Quote:

Originally Posted by pfyon (Post 180233)
Getting a different error with rev 1021:

Code:

client.o: In function `memset':
/usr/include/bits/string3.h:82: warning: memset used with constant zero length parameter; this could be due to transposed parameters
/usr/include/bits/string3.h:82: warning: memset used with constant zero length parameter; this could be due to transposed parameters
entity.o: In function `EntityList::MobProcess()':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/entity.cpp:493: undefined reference to `EntityList::RemoveBot(unsigned short)'
entity.o: In function `EntityList::RemoveEntity(unsigned short)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/entity.cpp:2308: undefined reference to `EntityList::RemoveBotRaid(unsigned short)'
/home/eqemu/source/svn/trunk/EQEmuServer/zone/entity.cpp:2310: undefined reference to `EntityList::RemoveBot(unsigned short)'
spells.o: In function `Mob::SpellFinished(unsigned short, Mob*, unsigned short, unsigned short, unsigned int)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/spells.cpp:1563: undefined reference to `Bot::DoFinishedSpellGroupTarget(unsigned short, Mob*, unsigned short, bool&)'
/home/eqemu/source/svn/trunk/EQEmuServer/zone/spells.cpp:1497: undefined reference to `Bot::DoFinishedSpellSingleTarget(unsigned short, Mob*, unsigned short, bool&)'
/home/eqemu/source/svn/trunk/EQEmuServer/zone/spells.cpp:1529: undefined reference to `Bot::DoFinishedSpellAETarget(unsigned short, Mob*, unsigned short, bool&)'
command.o: In function `command_bot(Client*, Seperator const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/command.cpp:10598: undefined reference to `Bot::ProcessBotCommands(Client*, Seperator const*)'
client_packet.o: In function `Client::Handle_OP_InspectRequest(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/client_packet.cpp:5724: undefined reference to `Bot::ProcessBotInspectionRequest(Bot*, Client*)'
client_packet.o: In function `Client::Handle_OP_GroupInvite2(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/client_packet.cpp:5403: undefined reference to `Bot::ProcessBotGroupInvite(Client*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
client_packet.o: In function `Client::Handle_OP_Camp(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/client_packet.cpp:2829: undefined reference to `Bot::DestroyBotObjects(Client*)'
client_packet.o: In function `Client::Handle_OP_TradeAcceptClick(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/client_packet.cpp:4288: undefined reference to `Bot::FinishTrade(Client*, Bot::botTradeType)'
aggro.o: In function `Mob::IsAttackAllowed(Mob*, bool)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/aggro.cpp:671: undefined reference to `Bot::IsBotAttackAllowed(Mob*, Mob*, bool&)'
/home/eqemu/source/svn/trunk/EQEmuServer/zone/aggro.cpp:671: undefined reference to `Bot::IsBotAttackAllowed(Mob*, Mob*, bool&)'
zoning.o: In function `Client::Handle_OP_ZoneChange(EQApplicationPacket const*)':
/home/eqemu/source/svn/trunk/EQEmuServer/zone/zoning.cpp:38: undefined reference to `Bot::DestroyBotObjects(Client*)'
collect2: ld returned 1 exit status
make[1]: *** [zone] Error 1
make[1]: Leaving directory `/home/eqemu/source/svn/trunk/EQEmuServer/zone'
make: *** [all] Error 2

This is after running make clean to force it to recompile everything.

Sounds like you're trying to compile with bots, but are probably missing the references to bot.o & botRaids.o in the makefile.common file for zone.

pfyon 10-17-2009 06:42 PM

Aha, I didn't notice the makefile had been updated and replaced my original one that did have bots.o and botRaids.o.

Thanks.


All times are GMT -4. The time now is 03:40 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.