-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[s2n] build failure on macOS #21443
Comments
Can you please provide the failure logs first? |
What's the difference between this and #21445? |
This issue is primarily about OpenSSL failing to automatically build as a dependency for aws-sdk-cpp. Issue #21445 is about the aws-sdk-cpp package failing to fully honor the MACOSX_DEPLOYMENT_TARGET environment variable, specifically MACOSX_DEPLOYMENT_TARGET=10.9 (but could be any value less that 10.13). It is possible both issues are related to building this package on macOS 10.14 Mojave, rather than a newer macOS version such as Big Sur or Monterey. But I assume vcpkg is still supported on macOS Mojave. I will upload a failure log for this issue tomorrow. |
What do you mean by that? Port aws-sdk-cpp is to use port openssl from vcpkg. aws-sdk-cpp in vcpkg is not up-to-date, unfortunately. The version used here has a number of cmake issues. For example, it calls So the first step needed is updating the port to a more recent version. |
What is suggested to do manually is already enforced by dependencies:
|
What I mean is that building It should not be necessary to build OpenSSL first, because OpenSSL is one of the dependencies of aws-sdk-cpp, as you mentioned, but for me it is necessary to build OpenSSL first. So I assume something must be wrong with the aws-sdk-cpp port. The s2n library (another aws-sdk-cpp dependency) builds before OpenSSL, but s2n needs LibCrypto from OpenSSL, so s2n fails. So perhaps the build order of the dependencies is wrong. I am doing these builds on macOS Mojave, in a vcpkg folder that is freshly prepared (git clone followed by running the bootstrap.sh script). |
Well:
So s2n doesn't declare an openssl dependency.
In that case, you should have chosen a different title for the issue, even if aws-sdk-cpp is the ultimate goal. (And I assume that this was written in the instruction in the console output when the s2n port failed.) |
Perhaps s2n should declare a dependency on openssl. I am uploading vcpkg console output and an error log to this comment. These logs were generated by attempting to build aws-sdk-cpp. The logs show that the build of s2n that is triggered by building aws-sdk-cpp fails due to LibCrypto being missing. So s2n does depend on LibCrypto (which is one of two OpenSSL libraries). I will change the title to reference the s2n port rather than the aws-sdk-cpp port. aws-sdk-cpp_console_output.txt . |
Can you pleae remove openssl and retry again? |
I deleted my entire vcpkg root folder, then grabbed it fresh with git clone, ran the
I did this two minutes after receiving an email with your latest comment. I got the same error when it got to building s2n:
|
Note in my previous comment, in the error text, that the path
is where HomeBrew installed its copy of CMake. |
It seems that aws-sdk-cpp[s3] finds the openssl in system side. |
Perhaps the Let me know if you'd like me to rename this issue back to referencing the [aws-sdk-cpp] port, rather than the s2n port. As for the other issue, #21445, it is also an issue with the |
I can reproduce the
@Mike4Online This is the output of vcpkg tool. Having the title right helps to focus attention - and it is also helpful for other users which may have a different ultimate goal but also stumble over s2n. |
Glad you can reproduce the issue. Looking forward to a corrected s2n port. Meanwhile, can do the work-around I have documented, above. I'll leave the Title of this issue as it currently is. If you need me to edit it, let me know and I'll do so. |
Host Environment
To Reproduce
Steps to reproduce the behavior:
./vcpkg install aws-sdk-cpp[s3]:x64-osx --no-binary-caching
Failure logs
Build fails while building the s2n library, claiming LibCrypo cannot be found
Additional context
A work-around is to manually build OpenSSL 1.1.1 first, as follows:
./vcpkg install openssl[core]:x64-osx --no-binary-caching
./vcpkg install aws-sdk-cpp[s3]:x64-osx --no-binary-caching
I also found that curl was rejecting the SSL certificate of the server providing the OpenSSL source. I had to create a text file
~/.curlrc
and add the following line to the file:in order for curl to successfully download the OpenSSL source. I am not sure why this was necessary. I tried installing macOS security updates for macOS Mojave, and also tried updating curl with HomeBrew, but I still needed to set
--insecure
in~/.curlrc
for vcpkg to build OpenSSL.The text was updated successfully, but these errors were encountered: