Bug #1452

Ryzom client cannot be built without STLport

Added by dfighter about 7 years ago. Updated almost 5 years ago.

Status:Rejected Start date:03/25/2012
Priority:Normal Due date:
Assignee:kervala % Done:

0%

Category:Build
Target version:-

Description

As the title says, I can't build the Ryzom client without STLport because I get the following error message.

1>LINK : fatal error LNK1104: cannot open file 'stlportd_statix.lib'

So I took the initiative and tried to track the problem down by enabling full message logging for the linker and it seems it's LuaBind that causes it.


1> Searching E:\projects\ryzom\src\external_stlport\lib\luabind_d.lib:
1> Found "void __cdecl luabind::open(struct lua_State *)" (?open@luabind@YAXPAUlua_State@@Z)
1> Referenced in lua_helper.obj
1> Loaded luabind_d.lib(open.obj)
1>Processed /DEFAULTLIB:stlportd_statix.lib

Also taken a look at the library and indeed "/DEFAULTLIB:stlportd_statix.lib" seems to be in the binary.

CMakeCache.txt (64.9 kB) Magnifier dfighter, 03/25/2012 04:36 pm

History

#1 Updated by dfighter about 7 years ago

Oh yea forgot to include some details.
I am building with Visual Studio 2008 professional on Windows 7 enUS professional.
Thanks in advance!

#2 Updated by kervala about 7 years ago

I suppose you unchecked WITH_STLPORT but did you check what is your LUABIND_LIBRARIES variable ?

You're still using STLPort because "E:\projects\ryzom\src\external_stlport\lib\luabind_d.lib" is not normal.

I succeeded to compile both with and without STLport, you just need to clear/fix your bad variables in cache.

#3 Updated by dfighter about 7 years ago

Well yes I have WITH_STLPORT unchecked ofc, but I don't seem to have a LUABIND_LIBRARIES variable in my cache.
However I have

??
//Path to a library.
LUABIND_LIBRARY_DEBUG:FILEPATH=E:/projects/ryzom/src/external_stlport/lib/luabind_d.lib

//Path to a library.
LUABIND_LIBRARY_RELEASE:FILEPATH=E:/projects/ryzom/src/external_stlport/lib/luabind.lib
??

Actually let me attach my entire cache, maybe you can make some sense of it.

#4 Updated by kaetemi about 7 years ago

You shouldn't be using the stlport-built externals without stlport.

#5 Updated by dfighter about 7 years ago

Well kaetemi, unfortunately using the externals without stlport didn't help either.
That is if I am trying the right one ( http://sourceforge.net/projects/ryzom/files/external.7z/download )

#6 Updated by kervala about 7 years ago

Kaetemi is right, there are 2 different externals, one with STLport and another without. There is a reason for that : a C++ library compiled with STLport can't be linked against something else using MS STL without generating conflicts.

Now you need to clean your CMake cache or edit path to C++ libraries.

#7 Updated by dfighter about 7 years ago

Yes I know that now Kervala, and even tried to use the external without STLport, and yet it failed with the very same error message.
I cleaned my CMake build folder as well so it doesn't make any sense now.
Btw even in the externals without STLport archive, the luabind libraries contain that STLport reference :S

#8 Updated by kervala about 7 years ago

Hum, I checked with an hex editor and it seems like external.7z provides bad 32 bits version of luabind libraries :( They effectively reference STLport namespace. 64 bits versions are fine though.

So I would have to recompile them soon (and, in the same occasion, update them and provide VC++ 2010 versions).

#9 Updated by dfighter about 7 years ago

Alright thanks in advance Kervala, I will keep using the STLport version for now then :)

#10 Updated by kaetemi almost 5 years ago

  • Status changed from New to Rejected

Also available in: Atom PDF