PDA

View Full Version : Problem compiling world on Debian


mickevi
04-01-2005, 01:03 AM
Hiyas all. I get this errors when I try to compile world, can anyone tell me what's wrong. I use the newest cvs version (20050401)

mickevi@defiler:~/eqemu/EQEmuCVS/Source/world$ make
gcc -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wcomment -Wcast-align -Wno-deprecated -g -march=athlon-xp -O3 -pthread -pipe -DFX -D_GNU_SOURCE -DINVERSEXY -DWORLD -DDEBUG=5 -DSHAREMEM -DCATCH_CRASH -DNO_PIDLOG -DFIELD_ITEMS -DIRC -I/usr/include/mysql -I/usr/mysql/include ../common/EQNetwork.o ../common/timer.o ../common/packet_dump.o ../common/races.o ../common/unix.o ../common/Mutex.o ../common/MiscFunctions.o ../common/serverinfo.o ../common/packet_functions.o ../common/classes.o ../common/TCPConnection.o ../common/eqtime.o ../common/crc32.o client.o net.o console.o zoneserver.o LoginServer.o ../common/md5.o ../common/dbcore.o ../common/dbasync.o ../common/EMuShareMem.o ../common/EQEMuError.o ../common/misc.o .obj/debug.o .obj/database.o .obj/Item.o ../common/extprofile.o ../common/timeoutmgr.o -rdynamic -L. -lstdc++ -lm -lz -L/usr/lib/mysql -L/usr/mysql/lib -lmysqlclient -ldl -o world
net.o(.text+0x524): In function `main':
/home/mickevi/eqemu/EQEmuCVS/Source/world/net.cpp:207: undefined reference to `OpcodeManager::OpcodeManager[not-in-charge]()'
net.o(.text+0x52a):/home/mickevi/eqemu/EQEmuCVS/Source/world/net.cpp:207: undefined reference to `vtable for SharedOpcodeManager'
net.o(.text+0x541):/home/mickevi/eqemu/EQEmuCVS/Source/world/net.cpp:209: undefined reference to `vtable for SharedOpcodeManager'
../common/dbcore.o(.text+0xa20): In function `DBAsyncLoop(void*)':
../common/dbcore.cpp:215: undefined reference to `Condition::Wait()'
../common/dbcore.o(.text+0xa8d): In function `DBAsync::DBAsync[not-in-charge](DBcore*)':
../common/dbcore.cpp:230: undefined reference to `Condition::Condition[in-charge]()'
../common/dbcore.o(.text+0xb75):../common/dbcore.cpp:238: undefined reference to `Condition::~Condition [in-charge]()'
../common/dbcore.o(.text+0xbed): In function `DBAsync::DBAsync[in-charge](DBcore*)':
../common/dbcore.cpp:230: undefined reference to `Condition::Condition[in-charge]()'
../common/dbcore.o(.text+0xcd5):../common/dbcore.cpp:238: undefined reference to `Condition::~Condition [in-charge]()'
../common/dbcore.o(.text+0xd81): In function `DBAsync::~DBAsync [not-in-charge]()':
../common/dbcore.cpp:243: undefined reference to `Condition::~Condition [in-charge]()'
../common/dbcore.o(.text+0xdf9):../common/dbcore.cpp:244: undefined reference to `Condition::~Condition [in-charge]()'
../common/dbcore.o(.text+0xeb1): In function `DBAsync::~DBAsync [in-charge]()':
../common/dbcore.cpp:243: undefined reference to `Condition::~Condition [in-charge]()'
../common/dbcore.o(.text+0xf29):../common/dbcore.cpp:244: undefined reference to `Condition::~Condition [in-charge]()'
../common/dbcore.o(.text+0xfe1):../common/dbcore.cpp:243: more undefined references to `Condition::~Condition [in-charge]()' follow
../common/dbcore.o(.text+0x10e3): In function `DBAsync::StopThread()':
../common/dbcore.cpp:254: undefined reference to `Condition::Signal()'
../common/dbcore.o(.text+0x11b2): In function `DBAsync::AddWork(DBAsyncWork**, unsigned)':
../common/dbcore.cpp:282: undefined reference to `Condition::Signal()'
collect2: ld returned 1 exit status
make: *** [world] Error 1

Cisyouc
04-01-2005, 08:22 AM
Make sure your world makefile includes condition.o

mickevi
04-01-2005, 08:11 PM
Thanks. Found out that a few others were missing to, so I added
../common/Condition.o ../common/opcodemgr.o ../common/emu_opcodes.o

and now it compiles.

But I ran into more problems when compiling zone:

mickevi@defiler:~/eqemu/EQEmuCVS/Source/zone$ make
gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wno-deprecated -Wcomment -Wcast-align -O2 -ggdb -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE -DEQDEBUG=5 -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -DFIELD_ITEMS `mysql_config --cflags` entity.cpp -o entity.o
entity.cpp: In member function `void BulkZoneSpawnPacket::SendBuffer()':
entity.cpp:2417: error: no matching function for call to `APPLAYER::APPLAYER(
EmuOpcode, unsigned char*&, int32&)'
../common/EQNetwork.h:81: error: candidates are: APPLAYER::APPLAYER(const
APPLAYER&)
../common/EQNetwork.h:87: error: APPLAYER::APPLAYER(EmuOpcode,
unsigned int)
make: *** [entity.o] Error 1


Is this more stuff missing in the zone makefile?