Opened 6 years ago

Closed 5 years ago

Last modified 5 years ago

#5314 closed defect (needsinfo)

Can't build "Debug" configuration

Reported by: Amplikon Owned by:
Priority: Nice to Have Milestone:
Component: Build & Packages Keywords:
Cc: Patch:

Description (last modified by Amplikon)

I checked out everything from https://svn.wildfiregames.com/public/ps/trunk/ and I successfully built "Release" configuration. However "Debug" configuration fails with this output: https://pastebin.com/13seWatv.

Running "dumpbin /exports <directory_path>binaries\system\glooxwrapper_dbg.lib" in cmd indicates that some function are missing from glooxwrapper_dbg.lib (e.g. Client::getID(void)). For me this linker errors dissappeared after running update-workspaces.bat with --build-shared-glooxwrapper which effectively allows to rebuild glooxwrapper_dbg.lib file.

EDIT: Built in Visual Studio 2015 on Windows 10

Change History (8)

comment:1 by Amplikon, 6 years ago

Description: modified (diff)
Last edited 6 years ago by Amplikon (previous) (diff)

comment:2 by nani, 6 years ago

I assume you are on Windows.

In "update-workspaces.bat", in the line:

if not exist ..\workspaces\vc2015\SKIP_PREMAKE_HERE premake5\bin\release\premake5 --outpath="../workspaces/vc2015" --use-shared-glooxwrapper %* vs2015

remove --use-shared-glooxwrapper save and rerun and try again.

comment:3 by elexis, 6 years ago

(Please post the copies on our platform, so they don't disappear)

1>------ Build started: Project: pyrogenesis, Configuration: Debug Win32 ------
2>------ Build started: Project: test, Configuration: Debug Win32 ------
1>     Creating library ..\..\..\binaries\system\pyrogenesis_dbg.lib and object ..\..\..\binaries\system\pyrogenesis_dbg.exp
2>     Creating library ..\..\..\binaries\system\test_dbg.lib and object ..\..\..\binaries\system\test_dbg.exp
2>lobby_dbg.lib(XmppClient.obj) : error LNK2019: unresolved external symbol "public: class glooxwrapper::string const __thiscall glooxwrapper::Client::getID(void)const " (?getID@Client@glooxwrapper@@QBE?BVstring@2@XZ) referenced in function "public: virtual void __thiscall XmppClient::SendIqGetBoardList(void)" (?SendIqGetBoardList@XmppClient@@UAEXXZ)
1>lobby_dbg.lib(XmppClient.obj) : error LNK2019: unresolved external symbol "public: class glooxwrapper::string const __thiscall glooxwrapper::Client::getID(void)const " (?getID@Client@glooxwrapper@@QBE?BVstring@2@XZ) referenced in function "public: virtual void __thiscall XmppClient::SendIqGetBoardList(void)" (?SendIqGetBoardList@XmppClient@@UAEXXZ)
2>lobby_dbg.lib(XmppClient.obj) : error LNK2019: unresolved external symbol "public: class glooxwrapper::string const __thiscall glooxwrapper::IQ::id(void)const " (?id@IQ@glooxwrapper@@QBE?BVstring@2@XZ) referenced in function "protected: virtual bool __thiscall XmppClient::handleIq(class glooxwrapper::IQ const &)" (?handleIq@XmppClient@@MAE_NABVIQ@glooxwrapper@@@Z)
1>lobby_dbg.lib(XmppClient.obj) : error LNK2019: unresolved external symbol "public: class glooxwrapper::string const __thiscall glooxwrapper::IQ::id(void)const " (?id@IQ@glooxwrapper@@QBE?BVstring@2@XZ) referenced in function "protected: virtual bool __thiscall XmppClient::handleIq(class glooxwrapper::IQ const &)" (?handleIq@XmppClient@@MAE_NABVIQ@glooxwrapper@@@Z)
2>lobby_dbg.lib(XmppClient.obj) : error LNK2019: unresolved external symbol "public: class gloox::JID const & __thiscall glooxwrapper::IQ::from(void)const " (?from@IQ@glooxwrapper@@QBEABVJID@gloox@@XZ) referenced in function "protected: virtual bool __thiscall XmppClient::handleIq(class glooxwrapper::IQ const &)" (?handleIq@XmppClient@@MAE_NABVIQ@glooxwrapper@@@Z)
2>..\..\..\binaries\system\test_dbg.exe : fatal error LNK1120: 3 unresolved externals
1>lobby_dbg.lib(XmppClient.obj) : error LNK2019: unresolved external symbol "public: class gloox::JID const & __thiscall glooxwrapper::IQ::from(void)const " (?from@IQ@glooxwrapper@@QBEABVJID@gloox@@XZ) referenced in function "protected: virtual bool __thiscall XmppClient::handleIq(class glooxwrapper::IQ const &)" (?handleIq@XmppClient@@MAE_NABVIQ@glooxwrapper@@@Z)
1>..\..\..\binaries\system\pyrogenesis_dbg.exe : fatal error LNK1120: 3 unresolved externals
========== Build: 0 succeeded, 2 failed, 14 up-to-date, 0 skipped ==========

One could check if it has something to do with recent commits, such as r21719.

Last edited 6 years ago by elexis (previous) (diff)

comment:4 by Amplikon, 6 years ago

Removing --use-shared-glooxwrapper in "update-workspace.bat" enforce to rebuild library and build finish successfully.

comment:5 by elexis, 6 years ago

Is the gloox debug build in our repository outdated? One could check using the revision log of these files (also accessible through the browser)

comment:6 by Amplikon, 6 years ago

Is debug version actually needed and supported?


After successfully building the project, I encounter some problems when debugging. I described this problem in Stackoverflow https://stackoverflow.com/questions/53034949/crt-assertion-problem-inside-crtmemblockheader, but maybe I do something wrong. The library which I talk about is "gloox-1.0d.dll" and I get assertion error inside file "XmppClient.cpp" in constructor:

XmppClient::XmppClient(const std::string& sUsername, const std::string& sPassword, const std::string& sRoom, const std::string& sNick, const int historyRequestSize, bool regOpt)
{
        ...
	glooxwrapper::JID roomJid(m_room + "@conference." + m_server + "/" + sNick);
        ...

}

My solution was that I rebuilt gloox-1.0d.dll and gloox-1.0.dll so my CRT header are consistent, but does it really actually matter or should I ignore this errors and stop using debug version?

comment:7 by Stan, 5 years ago

Keywords: debug build removed
Milestone: Backlog
Resolution: needsinfo
Status: newclosed

comment:8 by Stan, 5 years ago

To answer your question needed yes. Supported... Heh...

Note: See TracTickets for help on using tickets.