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

OpenSSL Dynamic Linkage Gotchas? #5568

Closed
terinjokes opened this issue Mar 4, 2016 · 8 comments
Closed

OpenSSL Dynamic Linkage Gotchas? #5568

terinjokes opened this issue Mar 4, 2016 · 8 comments
Labels
build Issues and PRs related to build files or the CI. openssl Issues and PRs related to the OpenSSL dependency. question Issues that look for answers.

Comments

@terinjokes
Copy link

The Node.js build system supports creating a dynamic link to the system's OpenSSL instead of a static build against the vendored version. Many distributors continue to ship distributions with OpenSSL statically built.

Are there any known downsides or other gotchas in Node.js with dynamic linkage?

@Fishrock123 Fishrock123 added build Issues and PRs related to build files or the CI. openssl Issues and PRs related to the OpenSSL dependency. labels Mar 4, 2016
@Fishrock123
Copy link
Contributor

cc @nodejs/crypto

@bnoordhuis
Copy link
Member

Are there any known downsides or other gotchas in Node.js with dynamic linkage?

  • The distro version of openssl should match the version that node ships with exactly but we sometimes float patches.
  • Dynamically linked builds are unsupported. If something doesn't work, tough cookies - we may or may not fix it.

@MylesBorins
Copy link
Contributor

There are at least 4 floating patch's that we have on openssl at the moment fwiw

edit: make that exactly four... documentation found here

@mscdex mscdex added the question Issues that look for answers. label Mar 4, 2016
@rvagg
Copy link
Member

rvagg commented Mar 7, 2016

/cc @nodejs/build

This is something we really should be considering officially supporting since a significant number of users are getting Node from distro packages; Debian, Ubuntu, Fedora, EL, where they all strictly follow this practice. That's probably going to be what stops us jumping on OpenSSL 1.1.0 for some time. We've discussed throwing a test slave or two at this problem to see if we can track the support cause downstream users are impacted by this whether we like it or not.

@jbergstroem
Copy link
Member

I feel somewhat responsible here; It's on my todo's to set up a shared build system. I'm already doing so by maintaining nodejs in gentoo - a distribution that strongly believes in the shared object. We've had a full test pass for some while now. It needs to be represented in ci though.

Last time I did a look around the packaging around nodejs I found out that the majority - if not most packaging - is building against a shared version of openssl, zlib and in other cases additional libraries (libuv, http-parser and icu).

@jasnell
Copy link
Member

jasnell commented May 30, 2017

@nodejs/build does this need to remain open?

@Trott
Copy link
Member

Trott commented Aug 7, 2017

I'm pretty sure some progress happened on this, but I don't recall when/where/by-whom. Help, anyone?

@bnoordhuis
Copy link
Member

It works (but then it always has, with the caveats I mention above) but it's not regularly tested. See also nodejs/build#419 (comment). I'll close out this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. openssl Issues and PRs related to the OpenSSL dependency. question Issues that look for answers.
Projects
None yet
Development

No branches or pull requests

9 participants