SpringLobby can't find mods

SpringLobby can't find mods

Discuss everything related to running Spring on your chosen distribution of Linux.

Moderator: Moderators

Post Reply
ProducedRaw
Posts: 2
Joined: 11 Oct 2008, 12:26

SpringLobby can't find mods

Post 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?
User avatar
BrainDamage
Lobby Developer
Posts: 1164
Joined: 25 Sep 2006, 13:56

Re: SpringLobby can't find mods

Post by BrainDamage »

viewtopic.php?f=20&t=16385
ProducedRaw
Posts: 2
Joined: 11 Oct 2008, 12:26

Re: SpringLobby can't find mods

Post by ProducedRaw »

Brain Damage wrote:viewtopic.php?f=20&t=16385
I tried that too, no luck.
malric
Posts: 521
Joined: 30 Dec 2005, 22:22

Re: SpringLobby can't find mods

Post 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)
Post Reply

Return to “Linux”