PDA

View Full Version : Trouble compiling ShowEQ - db3 link errors



EtherMage
07-17-2002, 02:17 PM
When the build gets all the way to the link stage, I get tons of undefined reference errors.

Here's a sample:
db3conv.o: In function `DB3Iterator::GetNextKey(Datum&)':
itimerspec/db3conv.cpp:543: undefined reference to `Dbt::Dbt[in-charge]()'
itimerspec/db3conv.cpp:544: undefined reference to `Dbt::Dbt[in-charge]()'
itimerspec/db3conv.cpp:547: undefined reference to `Dbt::get_data() const'
itimerspec/db3conv.cpp:558: undefined reference to `Dbt::set_flags(unsigned)'
itimerspec/db3conv.cpp:559: undefined reference to `Dbt::set_flags(unsigned)'
itimerspec/db3conv.cpp:561: undefined reference to `Dbc::get(Dbt*, Dbt*, unsigned)'
itimerspec/db3conv.cpp:37: undefined reference to `DbEnv::strerror(int)'
itimerspec/db3conv.cpp:572: undefined reference to `Dbt::~Dbt [in-charge]()'
itimerspec/db3conv.cpp:572: undefined reference to `Dbt::~Dbt [in-charge]()'
itimerspec/db3conv.cpp:576: undefined reference to `Dbt::get_data() const'
itimerspec/db3conv.cpp:577: undefined reference to `Dbt::get_size() const'
itimerspec/db3conv.cpp:580: undefined reference to `Dbt::operator=(Dbt const&)'
itimerspec/db3conv.cpp:582: undefined reference to `Dbt::~Dbt [in-charge]()'
itimerspec/db3conv.cpp:582: undefined reference to `Dbt::~Dbt [in-charge]()'

The command was:
g++ -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -o showeq main.o spawn.o spawnshell.o spawnlist.o spellshell.o spelllist.o vpacket.o editor.o filter.o m_spawnshell.o m_spawnlist.o m_spellshell.o m_spelllist.o m_editor.o packet.o m_packet.o interface.o m_interface.o compass.o m_compass.o map.o m_map.o util.o experiencelog.o m_experiencelog.o combatlog.o m_combatlog.o msgdlg.o m_msgdlg.o player.o m_player.o decode.o m_decode.o skilllist.o m_skilllist.o statlist.o m_statlist.o filtermgr.o m_filtermgr.o mapcore.o category.o m_category.o compassframe.o m_compassframe.o group.o m_group.o netdiag.o m_netdiag.o logger.o m_logger.o xmlconv.o xmlpreferences.o m_xmlpreferences.o seqwindow.o m_seqwindow.o seqlistview.o m_seqlistview.o zonemgr.o m_zonemgr.o spawnmonitor.o m_spawnmonitor.o spawnpointlist.o m_spawnpointlist.o spawnlistcommon.o m_spawnlistcommon.o spawnlist2.o m_spawnlist2.o itemdb.o m_itemdb.o gdbmconv.o db3conv.o -L/usr/qt/2/lib -lqt-mt -L/usr/lib -ldb_cxx -lpthread /usr/src/showeq/libEQ.a /usr/lib/libgdbm.so -lz -lpcap -Wl,--rpath -Wl,/usr/qt/2/lib -Wl,--rpath -Wl,/usr/X11R6/lib

I'm using Gentoo Linux, gcc 3.1, and I've rebuilt db3 and showeq both multiple times. Suggestions?

-EtherMage

Dedpoet
07-17-2002, 02:40 PM
When you say you have rebuilt ShowEQ multiple times, do you mean it was working before and suddenly isn't, or that you've tried multiple times with the same result?

I'm not familiar with that error myself...the undefined references usually mean something isn't installed. Did you export your QTDIR variable?

EtherMage
07-17-2002, 02:41 PM
Tried multiple times, same result.

QTDIR is OK, QT stuff compiles fine; every single link error relates to Db stuff.

-EtherMage

Ratt
07-17-2002, 04:30 PM
Looks like you are missing the DBM stuff.

EtherMage
07-17-2002, 06:16 PM
DBM stuff? Explain please... Is that an option I need to make sure db3 is compiled with, or what?

(I'm pretty Linux-savvy and have installed and run showEQ on several other machines, but I know almost nothing about the function of db3 in the system.)

-EtherMage

EtherMage
07-17-2002, 06:42 PM
I've attached a full log of a failed make process; this is from a mostly-complete build. If a full buildlog from a 'make clean' would be more informative, I can post one.

EtherMage
07-19-2002, 09:49 AM
Just wanted to note that http://seq.sourceforge.net/showthread.php?threadid=1649 has more info about this problem; I'd intended it to be about a seperate question, but such is life.

-EtherMage