Hi Hayden,

Unfortunately, I can't say much besides the fact that we're trying use wolfEngine to replace an existing openssl native engine solution for what we're working on, for certain compliance purposes. Someone else from my group has been in contact with your company.

Hi Hayden,

Thanks again for all your help! Everything builds and tests all pass now!

Hi Hayden,

Thanks for you help, the attached header works great for getting wolfssl and wolfEngine to build. However, I did have to make one slight tweak and add the following:


otherwise one unresolved reference would pop up.

The test suite for wolfssl works fine; the test suite for wolfEngine almost works (after installing the wolfEngine DLL in the OpenSSL engines folder); all tests pass except the very first test: did some digging in the test source code (test_logging.c), but I'm really not sure what could be the cause of the error. Test output provided below, isolated to only the failing test:

$ ./test.exe 1
Run test case: 1

Running tests using dynamic engine.
wolfEngine Leaving wolfengine_ctrl, return 1
wolfEngine Entering we_ciphers
wolfEngine Leaving we_ciphers, return 12
wolfEngine Entering we_digests
wolfEngine Leaving we_digests, return 6
wolfEngine Entering we_pkey
Returning 11 supported public key NIDs
wolfEngine Leaving we_pkey, return 11
Found engine rdrand : Intel RDRAND engine
Found engine dynamic : Dynamic engine loading support
Found engine wolfEngine : An engine using wolfSSL
wolfEngine Entering wolfengine_ctrl
wolfEngine Leaving wolfengine_ctrl, return 1

#### Start: 1 - test_logging
MSG: Enable debug logging
wolfEngine Entering wolfengine_ctrl
wolfEngine Leaving wolfengine_ctrl, return 1
MSG: Set logging level
wolfEngine Entering wolfengine_ctrl
MSG: Set logging callback
MSG: Disable debug logging
MSG: Enable debug logging, test setting log level to 0
MSG: Testing setting log component levels
ERR: Failed to set only WE_LOG_ENGINE component log
wolfEngine user logging callback registered
#### FAILED: 1 - test_logging

## FAIL: 1: test_logging
Returning 11 supported public key NIDs

Can you provide any guidance on possible solutions, and/or comment on the importance of this specific test failure?

Thanks again for your help!

Hi Hayden,

Thanks for your reply; I started from scratch with wolfssl version 5.0.0: it yields a successful build of wolfssl64.sln overall (no user_settings.h changes)

Now if I proceed with building wolfEngine.sln, the wolfEngine component appears to build properly, but the test component fails with 22 unresolved external symbols; looking through the wolfssl source code, in the unresolved symbols appear to stem from certain defines not being specified in wolfssl's user_settings.h.

On the other end of the spectrum, if I add all the defines to user_settings.h as specified in the wolfEngine readme, wolfssl build fails with many errors, as described in my last post. Commenting out


makes the build pass again. If I carry over from this successful build to try building the wolfEngine solution, wolfEngine builds, but the test project fails with less errors than before (pasting here since it seems I'm only allowed one attachment per post):

Severity    Code    Description    Project    File    Line
Error    LNK2019    unresolved external symbol wc_Dh_ffdhe2048_Get referenced in function we_dh_pkey_ctrl_str    test    wolfEngine\test\wolfEngine.lib(we_dh.obj)    1
Error    LNK2019    unresolved external symbol wc_Dh_ffdhe3072_Get referenced in function we_dh_pkey_ctrl_str    test    wolfEngine\test\wolfEngine.lib(we_dh.obj)    1
Error    LNK2019    unresolved external symbol wc_Dh_ffdhe4096_Get referenced in function we_dh_pkey_ctrl_str    test    wolfEngine\test\wolfEngine.lib(we_dh.obj)    1
Error    LNK1120    3 unresolved externals    test    wolfEngine\x64\Debug\test.exe    1

Also attached is my user_settings.h for wolfssl, with the single define commented out.

Currently under the assumption that the wolfEngine test project not building is always an indication that something was configured incorrectly, at the very least.

Hi all,

I'm trying to build wolfEngine (https://github.com/wolfSSL/wolfEngine#b … on-windows) on Windows, and I've been running into some compilation issues. I will try to be as detailed as possible, in case I didn't configure something simple correctly; all terminal output I'm showing is using bash, unless otherwise stated.

Windows specification:
Edition    Windows 10 Pro
Version    21H2
Installed on    5/22/2020
OS build    19044.1348
Experience    Windows Feature Experience Pack 120.2212.3920.0

In my project folder, I have to following to mirror the expected directory structure

$ ls
openssl  wolfEngine  wolfssl

The openssl folder contains the source code for openssl version 1.1.1l (L).
wolfssl source folder is on master branch (commit c80e63a822c0080fa0f368d357551be6eb48c956)

I call the following using "x64 Native Tools Command Prompt for VS 2019", while in  the openssl folder, and following the OpenSSL section (https://github.com/wolfSSL/wolfEngine#openssl-1):

> perl Configure VC-WIN64A
[Configure output ...]
> nmake clean
[clean output ...]
> nmake
[compilation output ...]

So far so good, now I try building wolfSSL (https://github.com/wolfSSL/wolfEngine#wolfssl-1). I open the wolfssl64.sln in Visual Studio 2019 Community (Version 16.11.6), From here, things get a little out of hand with the number of build errors that pop up.

- building the solution without modifying user_settings.h:
    - 18 errors, most prevalent being:
    4>wolfssl.lib(ssl.obj) : error LNK2001: unresolved external symbol _wc_PRF
    4>wolfssl.lib(tls.obj) : error LNK2001: unresolved external symbol _wc_PRF_TLS
    fatal error LNK1120: 2 unresolved externals
- building solution after adding defines specified in README to user_settings.h:
    - a ton more errors pop-up numbering in the hundreds; among them, syntax errors and complaints of undefined identifiers, structs, etc. Excel file provided with the full list of errors from Visual Studio.

Any assistance in potentially reproducing my situation, and some advice on things to try to get it built would be greatly appreciated! The ultimate goal is to also build wolfEngine and make sure the tests work on windows.