ryzom_client_patcher does not compile: missing function in curl.lib
Added by cjlpa about 3 years ago
Hello,
I am trying to compile Ryzom on Windows (Win7, VS Premium 2010) and receive the following errors: (sorry for German)
Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_RAND_file_name" in Funktion "_ossl_seed". C:\...\Ryzom\code\build2\ryzom\tools\client\client_patcher\curl.lib(ssluse.obj) ryzom_client_patcher
Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_RAND_load_file" in Funktion "_ossl_seed". C:\...\Ryzom\code\build2\ryzom\tools\client\client_patcher\curl.lib(ssluse.obj) ryzom_client_patcher
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_RAND_status" in Funktion "_rand_enough". C:\...\Ryzom\code\build2\ryzom\tools\client\client_patcher\curl.lib(ssluse.obj) ryzom_client_patcher
Fehler 4 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_RAND_screen" in Funktion "_Curl_ossl_init". C:\...\Ryzom\code\build2\ryzom\tools\client\client_patcher\curl.lib(ssluse.obj) ryzom_client_patcher
Fehler 5 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_OPENSSL_add_all_algorithms_noconf" in Funktion "_Curl_ossl_init". C:\...\Ryzom\code\build2\ryzom\tools\client\client_patcher\curl.lib(ssluse.obj) ryzom_client_patcher
[....]
Fehler 109 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_MD4_Update" in Funktion "_mk_nt_hash". C:\...\Ryzom\code\build2\ryzom\tools\client\client_patcher\curl.lib(http_ntlm.obj) ryzom_client_patcher
Fehler 110 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_MD4_Init" in Funktion "_mk_nt_hash". C:\...\Ryzom\code\build2\ryzom\tools\client\client_patcher\curl.lib(http_ntlm.obj) ryzom_client_patcher
Fehler 111 error LNK1120: 107 nicht aufgelöste externe Verweise. C:\...\Ryzom\code\build2\bin\RelWithDebInfo\ryzom_client_patcher.exe ryzom_client_patcher
They all pertain to curl.lib.
Cmake (2.8.8) doesn't report any problems, and I have tried linking to lib64's version of curl.lib instead - this just gives 8 errors instead of 111:
Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_curl_global_cleanup" in Funktion ""private: void __thiscall CPatchManager::downloadFileWithCurl(class stlpx_std::basic_string<char,class stlpx_std::char_traits<char>,class stlpx_std::allocator<char> > const &,class stlpx_std::basic_string<char,class stlpx_std::char_traits<char>,class stlpx_std::allocator<char> > const &,class NLMISC::IProgressCallback *)" (?downloadFileWithCurl@CPatchManager@AAEXABV?$basic_string@DV?$char_traits@D@stlpx_std
@V?$allocator@D@2@stlpx_std
@0PAVIProgressCallback@NLMISC@@@Z)". C:\...\Ryzom\code\build2\ryzom\tools\client\client_patcher\login_patch.obj ryzom_client_patcher
and 7 more alike the one above.
The build configuration I use is RelWithDebInfo.
Any help would be appreciated! :-)
Thank you,
F.
Replies (7)
RE: ryzom_client_patcher does not compile: missing function in curl.lib - Added by kervala about 3 years ago
First, that's strange you have a RelWithDebInfo build configuration :( We only kept Release and Debug, I just checked on my VC++ 2010 and I don't see RelWithDebInfo. I suggest you to use Release or Debug because we declared VC++ flags only for these configurations.
Next, I suspect OpenSSL wasn't found by CMake. Please could you check in build/CMakeCache.txt if OpenSSL has been found ?
RE: ryzom_client_patcher does not compile: missing function in curl.lib - Added by cjlpa about 3 years ago
Hello,
wow, thank you for this fast reply!
I will try with Release.
Cheers,
F.
RE: ryzom_client_patcher does not compile: missing function in curl.lib - Added by cjlpa about 3 years ago
Hello again,
same error with Release and Debug build target.
CMakeCache.txt:
//Path to a file.
OPENSSL_INCLUDE_DIR:PATH=C:/.../Ryzom/external_stlport/include
//Details about finding OpenSSL
FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[optimized;C:/.../Ryzom/external_stlport/lib64/ssleay32.lib;debug;C:/.../Ryzom/external_stlport/lib64/ssleay32.lib;optimized;C:/.../Ryzom/external_stlport/lib64/libeay32.lib;debug;C:/.../Ryzom/external_stlport/lib64/libeay32.lib][C:/.../Ryzom/external_stlport/include][v1..()]
//ADVANCED property for variable: OPENSSL_INCLUDE_DIR
OPENSSL_INCLUDE_DIR-ADVANCED:INTERNAL=1
The errors are not only with SSLuse, but also with http_ntlm and MD5.
Regards,
F.
RE: ryzom_client_patcher does not compile: missing function in curl.lib - Added by kervala about 3 years ago
Please what CMake version are you using ?
Some previous versions had bugs with OpenSSL module.
RE: ryzom_client_patcher does not compile: missing function in curl.lib - Added by cjlpa about 3 years ago
cmake-gui about box says:
"CMake 2.8.8
Using Qt 4.6.2"
RE: ryzom_client_patcher does not compile: missing function in curl.lib - Added by cjlpa about 3 years ago
I may have found a solution: I downloaded the libcurlMD.lib and DLL from the cURLpp Project: http://code.google.com/p/curlpp/downloads/detail?name=libcurlMD.zip&can=2&q=
And put both files in the external_stlport dir, then changed the include in ryzom_client_patcher to reference the lib file instead of curl.lib. At least for now, it compiles - still have to test though if there are any problems / unforseeen bugs or errors.
RE: ryzom_client_patcher does not compile: missing function in curl.lib - Added by cjlpa about 3 years ago
For anyone running into the same problem: using the solution above (cURLpp libraries) worked perfectly!
(1-7/7)