Hello - I've been asked to debug a program where someone has (unsuccessfully) 
tried to add OpenSSL support using OpenSSL version 0.9.8h.  We're building 
using Visual C++ 8 (Visual Studio 2005) and we get a runtime exception (access 
violation error) whenever we call any of the "BIO" functions (BIO_new_mem_buf() 
/ BIO_f_base64() or whatever).

I found some help information here:-

http://www.openssl.org/support/faq.html#PROG2

and checked that we were using the right libraries.  We only seem to have the 
Release build for OpenSSL (i.e. the pre-built binaries and link libs) so I've 
built a Release version of our app - but with debug symbols included, so we can 
debug it.  I've checked that we're using the /MD compiler option to link to the 
correct (Multithreaded DLL) 'C' runtime module.    Where do I go from here?  I 
guess some obvious questions would be:-

1)  We're linking to the libraries libeay32.lib and libssl32.lib which (I 
assumed) would need the DLLs libeay32.dll and libssl32.dll.  I dutifully put 
the DLLs into our app's folder.  However, if they're NOT in the folder I don't 
get any runtime errors about missing DLLs.  That's quite unusual for Windows 
which does normally complain if DLLs can't be found.

2)  I also linked to the library libcrypto.lib but I couldn't find any 
corresponding DLL.  Should there be one or is libcrypto.lib a static lib?

3)  Should we be calling some kind of "BIO_init" function or similar, before we 
can use the other functions?

4)  I saw a note on the above web page about needing to call 
CRYPTO_malloc_init() in some circumstances so I tried that - but that crashed 
in exactly the same way.

Any help would be gratefully received.

John Emmas______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to