Page 1 of 1

SpringLobby can't find mods

Posted: 11 Oct 2008, 13:44
by ProducedRaw
I built spring and springlobby from source but get these lobby errors:

11:55:07: Loading from: /usr/local/lib/spring/unitsync.so
11:55:07: Couldn't load lpSubTableIntPtr from unitsync library
11:55:07: Couldn't load lpSubTableStrPtr from unitsync library
...

I tried recompiling without -march by commenting out the relevant lines in CMakeLists.txt and recompiling:

#set (MARCH_FLAG native CACHE STRING "CPU optimization (use i686 for generic optimization)")
#if (MARCH_FLAG)
# set (CMAKE_CXX_FLAGS "-march=${MARCH_FLAG}")
#endif (MARCH_FLAG)

as was suggested in this thread - viewtopic.php?f=20&t=16361 but I still get the same errors. Any ideas?

Re: SpringLobby can't find mods

Posted: 11 Oct 2008, 13:52
by BrainDamage
viewtopic.php?f=20&t=16385

Re: SpringLobby can't find mods

Posted: 11 Oct 2008, 14:19
by ProducedRaw
Brain Damage wrote:viewtopic.php?f=20&t=16385
I tried that too, no luck.

Re: SpringLobby can't find mods

Posted: 13 Oct 2008, 00:03
by malric
The problem with the symbols is that in springunitsynclib.cpp from springlobby git repository there is a line like:

Code: Select all

m_parser_sub_table_int = (lpSubTableIntPtr)_GetLibFuncPtr(_T("lpSubTableIntPtr"));
But, the symbol exported (from spring tools/unitsync/unitsync_api.h) is named

Code: Select all

DLL_EXPORT int         __stdcall lpSubTableInt(int key);
If you modify the functions in springunitsynclib.cpp there will be no errors. Modify them so they are with Ptr in the end like :

Code: Select all

m_parser_sub_table_int = (lpSubTableIntPtr)_GetLibFuncPtr(_T("lpSubTableInt"));
BUT, to make springlobby find the spring version you should set correctly "Spring Executable" . For my gentoo system now it is "/usr/games/bin/spring-0.77b3" and before was "/usr/games/bin/spring"... this was the reason of not being able to play. (if this was your problem)