New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot build curl 7.81.0 with --with-wolfssl #8292
Comments
I get a bunch of errors with master and less with 7.79.1. The errors I get in 7.79.1 are because of |
You probably need more openssl capability enabled. Try with
The configure script adapts to that. We successfully build with wolfSSL in our CI builds for every commit and for every PR after all... |
The compatibility layer needs to be enabled for curl to build with wolfSSL. |
I should mention that wolfSSL will soon ship with an |
- Change build-wolfssl.bat to disable SSLv3, enable TLSv1.3, enable wolfSSL_DES_ecb_encrypt (needed by NTLM) and enable alt cert chains. - Disable warning C4214 'bit field types other than int'. - Add include directory wolfssl\wolfssl. wolfSSL offers OpenSSL API compatibility that libcurl uses, and some recent change in libcurl included an include file for wolfSSL like openssl/foo.h, which has a path like wolfssl\wolfssl\openssl\foo.h. The include directory issue was reported in curl#8292 but it's currently unclear whether this type of change is needed for other build systems. Bug: curl#8292 Reported-by: Harry Sarson Closes #xxxx
Ref: https://github.com/curl/curl/blob/curl-7_81_0/m4/curl-wolfssl.m4 What does
|
We add the wolfssl part only, as the openssl part is what we use in the include names: Lines 137 to 152 in fde0925
|
Ok I missed that was added when wolfSSL_DES_ecb_encrypt. |
When I added that logic, curl would still build without that function and just have less functionality. Since then we broke that flexibility. We should probably make configure check for the functions we need instead of causing link errors much later. |
hey, I confirmed that the build issue I was facing seems resolved by configuring wolfssl with Would there be interest in keeping support for building curl against wolfssl configured with just |
I think it would be cool to make curl adapt to whatever features wolfSSL was built with, instead of us insisting on a particular feature set: yes. |
Couldn't there also be a real openssl include directory (like say in /usr/local/include/openssl) that would end up taking precedence before wolfssl/wolfssl/openssl? |
It probably could, but that would then be a different problem. |
- Change build-wolfssl.bat to disable SSLv3, enable TLSv1.3, enable wolfSSL_DES_ecb_encrypt (needed by NTLM) and enable alt cert chains. - Disable warning C4214 'bit field types other than int'. - Add include directory wolfssl\wolfssl. wolfSSL offers OpenSSL API compatibility that libcurl uses, and some recent change in libcurl included an include file for wolfSSL like openssl/foo.h, which has a path like wolfssl\wolfssl\openssl\foo.h. The include directory issue was reported in #8292 but it's currently unclear whether this type of change is needed for other build systems. Bug: #8292 Reported-by: Harry Sarson Closes #8298
I did this
I expected the following
Curl can build with wolfssl (all the commands run successfully), as it does with
CURL_VERSION=curl-7.79.1
. Instead it fails to build with error:(Note
CURL_VERSION=curl-7.80.0
also fails).curl/libcurl version
7.81.0
operating system
WSL:
Linux D-00076 5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Notes
I suspect #7806 is at fault here. It expects that the wolfssl openssl compatability layer uses
openssl/*.h
include paths. However, (atleast as my reading of https://www.wolfssl.com/docs/wolfssl-manual/ch13/) the wolfssl openssl compatability layer actually puts the header files atwolfssl/openssl/*.h
:I have a patch that fixes this for me locally that I can submit if the above conclusion is correct.
The text was updated successfully, but these errors were encountered: