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

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

Reply
 
Thread Tools Display Modes
  #1  
Old 10-17-2009, 10:03 AM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default 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?
Reply With Quote
  #2  
Old 10-17-2009, 03:07 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

Same for me. Tried adding #include "stdlib.h" to QGlobals.cpp and just ended up with more errors down the line (involving Bot:: stuff).
Reply With Quote
  #3  
Old 10-17-2009, 03:37 PM
Shin Noir's Avatar
Shin Noir
Legendary Member
 
Join Date: Apr 2002
Location: Seattle, WA
Posts: 502
Default

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!
__________________

~Shin Noir
DungeonEQ.com
Reply With Quote
  #4  
Old 10-17-2009, 04:18 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

It's more an issue with microsoft's compiler being significantly smarter than GNU's
Reply With Quote
  #5  
Old 10-17-2009, 04:32 PM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

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)
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
  #6  
Old 10-17-2009, 05:29 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

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...
Reply With Quote
  #7  
Old 10-17-2009, 05:34 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

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

Thanks folks!
Reply With Quote
  #8  
Old 10-17-2009, 06:10 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

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.
Reply With Quote
  #9  
Old 10-17-2009, 06:25 PM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Quote:
Originally Posted by pfyon View Post
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.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #10  
Old 10-17-2009, 06:42 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

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

Thanks.
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 11:51 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