Skip to content
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

Building with no-shared still builds dynamic ossl-modules #17679

Closed
jeroen opened this issue Feb 10, 2022 · 2 comments
Closed

Building with no-shared still builds dynamic ossl-modules #17679

jeroen opened this issue Feb 10, 2022 · 2 comments
Labels
resolved: answered The issue contained a question which has been answered

Comments

@jeroen
Copy link

jeroen commented Feb 10, 2022

Is there a way to build a static version of openssl3, including the "legacy" OSSL_PROVIDER?

I maintain bindings for the R programming language, which require that on Windows everything is statically linked, no runtime dll dependencies. This was easy with openssl 1.1.1 but with openssl3 we need to use:

OSSL_PROVIDER_load(NULL, "legacy");
OSSL_PROVIDER_load(NULL, "default");

However it seems that the legacy library is always built as a shared library, even when building openssl with no-shared? Is there a way to build a static legacy.a library that we can link to the bindings at build time?

@jeroen jeroen added the issue: bug report The issue was opened to report a bug label Feb 10, 2022
@mattcaswell mattcaswell removed the issue: bug report The issue was opened to report a bug label Feb 10, 2022
@mattcaswell
Copy link
Member

Configure with no-shared no-module. The legacy provider is then part of libcrypto.a. You still need to "load" it via OSSL_PROVIDER_load() - but no .so file is required in that case.

@mattcaswell mattcaswell added the resolved: answered The issue contained a question which has been answered label Feb 10, 2022
@jeroen
Copy link
Author

jeroen commented Feb 10, 2022

Thanks I'll try that! Maybe it would make sense if no-shared implies no-module (as modules are by definition shared)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
resolved: answered The issue contained a question which has been answered
Projects
None yet
Development

No branches or pull requests

2 participants