-
Notifications
You must be signed in to change notification settings - Fork 43
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
Allow using system aws c libraries #588
Comments
It's not documented, but this is already possible. If Lines 274 to 278 in 5a1f499
So, if you're getting the source code from github, don't download submodules. Then the If you're getting the source code from pypi, delete everything under Does that do the trick for you? Or would you still like an environment variable? |
Hi @graebm thanks for the response. Yes, that is essentially what we are doing now. I think it would make it easier if there were an environment variable to toggle this instead of building from source and using the trick you mentioned. Is that possible for the team to prioritize? Please let me know how I might be able to help. |
PR is up. Look good? |
LGTM. Thank you @graebm. |
*Issue #:* #588 User wants explicit way to choose whether aws-crt-python builds its own dependencies (their source code is under `crt/`), or find them prebuilt on the system. There's currently a secret way to do this (delete `crt/` folder, or don't sync submodules), but it's not documented. *Description of changes:* Set `AWS_CRT_BUILD_USE_SYSTEM_LIBS=1` to explicitly disable building dependencies
Do you need a new release? |
If possible that would be great. |
v0.21.5 is available on PyPI and GitHub |
Thank you. Appreciate it @graebm. |
Describe the feature
Right now you can only configure the build to use system
libcrypto
via an environment variableAWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO
.This should be expanded to support all
libaws-c-*
libraries, includinglibs2n
.For now I am patching this library but would like to see this officially supported.
Use Case
Using vendored libs when you're compiling & using those libraries yourself in other places may lead to strange and hard to debug bugs due to binary incompatibilities as not only API and ABI have to be the same in such cases and objects must be fully identical in RAM which includes hidden fields (which are affected by defines).
It's also a setuptools best practice.
Proposed Solution
Control building system vs vendored libraries via an environment variable.
Other Information
No response
Acknowledgements
The text was updated successfully, but these errors were encountered: