Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-17-2007, 07:53 PM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default Errors while trying to compile

I've got the libraries/libs from the wiki, visual c++ 2005 express, Platform SDK w/ the proper changes and i'm trying to compile the source just to see if i can get it working and i'm getting the following error, any help would be much appreciated.

Live.cpp
Generating Code...
Compiling manifest to resources...
Linking...
mysqlclient.lib(client.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_free referenced in function _mysql_ssl_free
mysqlclient.lib(viosslfactories.obj) : error LNK2001: unresolved external symbol _yaSSL_CTX_free
mysqlclient.lib(client.obj) : error LNK2019: unresolved external symbol _yaSSL_get_cipher_name referenced in function _mysql_get_ssl_cipher@4
mysqlclient.lib(client.obj) : error LNK2019: unresolved external symbol _yaX509_free referenced in function _ssl_verify_server_cert
mysqlclient.lib(client.obj) : error LNK2019: unresolved external symbol _yaX509_NAME_oneline referenced in function _ssl_verify_server_cert
mysqlclient.lib(viosslfactories.obj) : error LNK2001: unresolved external symbol _yaX509_NAME_oneline
mysqlclient.lib(client.obj) : error LNK2019: unresolved external symbol _yaX509_get_subject_name referenced in function _ssl_verify_server_cert
mysqlclient.lib(viosslfactories.obj) : error LNK2001: unresolved external symbol _yaX509_get_subject_name
mysqlclient.lib(client.obj) : error LNK2019: unresolved external symbol _yaSSL_get_peer_certificate referenced in function _ssl_verify_server_cert
mysqlclient.lib(vio.obj) : error LNK2019: unresolved external symbol _yayaSSL_CleanUp referenced in function _vio_end
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaERR_get_error_line_data referenced in function _report_errors
mysqlclient.lib(viosslfactories.obj) : error LNK2001: unresolved external symbol _yaERR_get_error_line_data
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_read referenced in function _vio_ssl_read
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_write referenced in function _vio_ssl_write
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_shutdown referenced in function _vio_ssl_close
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_free referenced in function _vio_ssl_delete
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_accept referenced in function _sslaccept
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_set_fd referenced in function _sslaccept
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_SESSION_set_timeout referenced in function _sslaccept
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_get_session referenced in function _sslaccept
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_clear referenced in function _sslaccept
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_new referenced in function _sslaccept
mysqlclient.lib(viossl.obj) : error LNK2019: unresolved external symbol _yaSSL_connect referenced in function _sslconnect
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaDH_free referenced in function _get_dh512
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaBN_bin2bn referenced in function _get_dh512
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaDH_new referenced in function _get_dh512
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_check_private_key referenced in function _vio_set_cert_stuff
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_use_PrivateKey_file referenced in function _vio_set_cert_stuff
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_use_certificate_file referenced in function _vio_set_cert_stuff
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaX509_get_issuer_name referenced in function _vio_verify_callback
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaX509_STORE_CTX_get_error_depth referenced in function _vio_verify_callback
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaX509_STORE_CTX_get_error referenced in function _vio_verify_callback
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaX509_STORE_CTX_get_current_cert referenced in function _vio_verify_callback
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_load_error_strings referenced in function _check_ssl_init
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaOpenSSL_add_all_algorithms referenced in function _check_ssl_init
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_library_init referenced in function _check_ssl_init
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_set_tmp_dh referenced in function _new_VioSSLFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_set_default_verify_paths referenced in function _new_VioSSLFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_load_verify_locations referenced in function _new_VioSSLFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_set_cipher_list referenced in function _new_VioSSLFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_new referenced in function _new_VioSSLFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_set_verify referenced in function _new_VioSSLConnectorFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaTLSv1_client_method referenced in function _new_VioSSLConnectorFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_set_session_id_context referenced in function _new_VioSSLAcceptorFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaSSL_CTX_sess_set_cache_size referenced in function _new_VioSSLAcceptorFd
mysqlclient.lib(viosslfactories.obj) : error LNK2019: unresolved external symbol _yaTLSv1_server_method referenced in function _new_VioSSLAcceptorFd
../build/ZoneDebug.exe : fatal error LNK1120: 42 unresolved externals
Creating browse information file...
Microsoft Browse Information Maintenance Utility Version 8.00.50727
Copyright (C) Microsoft Corporation. All rights reserved.
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #2  
Old 06-18-2007, 05:04 AM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

Hrmm, also can anyone who compiles tell me what libraries and contribs you have linked to your project? I get the feeling the wiki is just out dated and that's my problem. Thanks.
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #3  
Old 06-18-2007, 06:07 AM
uncommon
Sarnak
 
Join Date: Feb 2002
Posts: 52
Default

I think i got this error when i tried to compile against a 5.x mysql lib. You should try using the 4.1.x version.
Reply With Quote
  #4  
Old 06-18-2007, 06:39 AM
Darkonig
Hill Giant
 
Join Date: Dec 2006
Posts: 102
Default

When you download mysql from dev.mysql.com there are 3 versions of the download available; essentials, zip with installer, zip without installer. Do not download essentials because that is just the binary of the server and you will need the source code if you plan to compile the emu. The windows versions, unlike the linux versions, do not have a separate devel download, so to get the include directories and libraries you must download the full version. Then simply move the include and library directories to your designated library area. Make sure you setup your IDE to look for the includes and libraries in the location you put them.

I use:
Code:
c:\dev
|---  \mysql
      |--- \include
      |--- \lib
|--- \zlib123-dll
     |--- \include
     |--- \lib
Reply With Quote
  #5  
Old 06-18-2007, 07:23 AM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

I'm using 5.0, is that really the prob? I'd think a later version would be better... I 'll give it a try though.

Yeah I figured that out the hard way yesterday Darkonig, I actually had that error and figured out i didn't have those directories... I'm amazed i've gotten this far tbh... lol, i'll try the lower version, i really can't think what else it could be i've done everything according to the wiki.
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #6  
Old 06-18-2007, 07:38 AM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

4.1 didn't work. Any other ideas?
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #7  
Old 06-18-2007, 08:34 AM
Darkonig
Hill Giant
 
Join Date: Dec 2006
Posts: 102
Default

i wasn't saying use lower version. I'm using mysql 5.0.41 with no problems. Just make sure you have everything configured correctly not counting the emu project. IE. make sure all of your required includes and libraries (zlib, mysql, perl) are in appropriate places, that you have the include path and library path in the compiler set to those places, and that you don't have any conflicting paths that would select a different version.

Getting visual studio 2005 setup correctly was the biggest challenge in compiling the emu. There is a good guide to getting it setup correctly in the wiki. The only thing it does not cover is getting your hands on the mysql includes and libraries which is what i was describing above.

When i said 3 versions of the download are available, I meant 3 versions of 5.0.41, one is 27mb and only include binarys, the other two are around 57mb and include source. These 3 versions of the download are available regardless of which version of the database you select. It is confusing use of the word version but that's what they call it on the site so.

Last edited by Darkonig; 06-18-2007 at 04:37 PM..
Reply With Quote
  #8  
Old 06-18-2007, 08:40 AM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

Yeah i've checked and re-checked and rerechecked :P Followed the wiki to get to this point. Only thing i can think is the wiki is missing some paths or something.
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #9  
Old 06-18-2007, 08:42 AM
Darkonig
Hill Giant
 
Join Date: Dec 2006
Posts: 102
Default

Reading closer though your error list above, that is a link error rather than a compile error. This would suggest that the path to the includes and libraries are not pointing to the same version. When you download the package mentioned above make sure your include path and your library path in the compiler both point to the items from that download and that you remove any conflicting paths that you may have already configured.
Reply With Quote
  #10  
Old 06-18-2007, 08:50 AM
Darkonig
Hill Giant
 
Join Date: Dec 2006
Posts: 102
Default

Ok, the configuration changes I made to compile the emu were:

Include files:
c:\perl\lib\CORE
c:\dev\zlib123-dll\include
c:\dev\mysql\include

Library files:
c:\perl\lib\CORE
c:\dev\zlib123-dll\lib
c:\dev\mysql\lib\opt
Reply With Quote
  #11  
Old 06-18-2007, 09:02 AM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

Yeah just checked again, all good. Even tried being case sensitive.

Okay let me make sure i'm building it correctly. I go:

File-->Open-->Project/solution--> Open zone folder, open the figure 8-looking zone file.

Build-->Build Zone

and then it prints out the error...
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #12  
Old 06-18-2007, 09:11 AM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

I'm also getting a bunch of errors like this before that one while building if you can make any sense of it.

EQEMuError.cpp
..\common\EQEMuError.cpp(93) : warning C4996: 'strcpy' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(73) : see declaration of 'strcpy'
Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
..\common\EQEMuError.cpp(134) : warning C4996: 'getch' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\conio.h(145) : see declaration of 'getch'
Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.'
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #13  
Old 06-18-2007, 09:30 AM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

Also, it shows this in the error log thing:

".\AA.cpp"
]
Creating command line "cl.exe @"c:\Documents and Settings\Slowdex\Desktop\EQEmu-0.7.0-992\Build\Zone\Debug\RSP00000523923948.rsp" /nologo /errorReport:prompt"
Creating temporary file "c:\Documents and Settings\Slowdex\Desktop\EQEmu-0.7.0-992\Build\Zone\Debug\TMP00000623923948.tmp" with contents
[
1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ "..\\Build\\Zone\\Debug\\ZoneDebug.exe.embed.manif est"
]
Creating command line "rc.exe /fo"..\Build\Zone\Debug\ZoneDebug.exe.embed.manifes t.res" "c:\Documents and Settings\Slowdex\Desktop\EQEmu-0.7.0-992\Build\Zone\Debug\TMP00000623923948.tmp""
Creating temporary file "c:\Documents and Settings\Slowdex\Desktop\EQEmu-0.7.0-992\Build\Zone\Debug\RSP00000723923948.rsp" with contents
[
/OUT:"../build/ZoneDebug.exe" /INCREMENTAL /LIBPATH:"c:\mysql\lib\opt" /LIBPATH:"c:\eqemu\lib" /MANIFEST /MANIFESTFILE:".\../Build/Zone/Debug\ZoneDebug.exe.intermediate.manifest" /NODEFAULTLIB:"LIBCMT" /NODEFAULTLIB:"LIBC" /DEBUG /PDB:".\../build/ZoneDebug.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 odbc32.lib odbccp32.lib wsock32.lib zlib.lib mysqlclient.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib

/OUT:"../build/ZoneDebug.exe" /INCREMENTAL /LIBPATH:"c:\mysql\lib\opt" /LIBPATH:"c:\eqemu\lib"

Where is it getting c:\eqemu\lib? There is no lib folder in eqemu... I didn't set that path.
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #14  
Old 06-18-2007, 10:13 AM
Darkonig
Hill Giant
 
Join Date: Dec 2006
Posts: 102
Default

When I do the build, i would go into EQEmu-0.7.0-992 and open the server.sln file in there as the solution. It contains subprojects of emusharemem, world, and zone. This will build all 3 projects. There are dependencies between them.
Reply With Quote
  #15  
Old 06-18-2007, 11:46 AM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

Well eqemumemshare is successful like that however the other 2 fail.
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 05:48 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3