Bug #1452
Ryzom client cannot be built without STLport
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.
History
#1 Updated by dfighter over 6 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 over 6 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 over 6 years ago
- File CMakeCache.txt added
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 over 6 years ago
You shouldn't be using the stlport-built externals without stlport.
#5 Updated by dfighter over 6 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 over 6 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 over 6 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 over 6 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 over 6 years ago
Alright thanks in advance Kervala, I will keep using the STLport version for now then :)
#10 Updated by kaetemi about 4 years ago
- Status changed from New to Rejected