Uh oh!
There was an error while loading. Please reload this page.
deps: upgrade npm to 6.10.1 - #28647
Conversation
Full release notes: https://npm.community/t/release-npm-6-10-1/8790 Notable changes: - Fixes an EISDIR error in the cache - Adds support for Visual Studio 2019 by upgrading node-gyp to 5.0.2 - Strip git environment variables when running git subcommands, so that running npm from within an existing git process does not get borked.
nodejs-github-bot
commented
Jul 12, 2019
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
nodejs-github-bot
commented
Jul 15, 2019
Trott
commented
Jul 15, 2019
|
richardlau
commented
Jul 15, 2019
... and uses |
joaocgreis
commented
Jul 15, 2019
ARM64 Windows support landed as a floating patch in #28604. This PR already contains all of that, so this can simply overwrite what is currently in master. |
Trott
commented
Jul 15, 2019
^^^^ @bnoordhuis @nodejs/platform-macos @nodejs/node-gyp |
rvagg
commented
Jul 16, 2019
Well the only thing that could be impacting it from those two commits is the addon.gypi changes: nodejs/node-gyp@2761afb#diff-df3ec83827f1a390820c4225e8cbcc9a diff --git a/addon.gypi b/addon.gypi
index e8b95c5..e1c4b24 100644
--- a/addon.gypi+++ b/addon.gypi@@ -90,10 +90,14 @@
'conditions': [
[ 'OS=="mac"', {
+ 'cflags': [+ '-fvisibility=hidden'+ ],
'defines': [
'_DARWIN_USE_64_BIT_INODE=1'
],
'xcode_settings': {
+ 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
'DYLIB_INSTALL_NAME_BASE': '@rpath'
},
}], |
bnoordhuis
commented
Jul 16, 2019
It's the node-gyp change. Those add-on tests are actually defective but it slipped under the radar so far. The fix is trivial: Detailsdiff --git a/test/addons/dlopen-ping-pong/binding.cc b/test/addons/dlopen-ping-pong/binding.cc
index 6a6c297b52..8ad6a675b6 100644
--- a/test/addons/dlopen-ping-pong/binding.cc+++ b/test/addons/dlopen-ping-pong/binding.cc@@ -5,6 +5,7 @@
#include <dlfcn.h>
+__attribute__((visibility("default")))
extern "C" const char* dlopen_pong(void) {
return "pong";
}
diff --git a/test/addons/dlopen-ping-pong/ping.c b/test/addons/dlopen-ping-pong/ping.c
index bb0e6845d5..c76f40580c 100644
--- a/test/addons/dlopen-ping-pong/ping.c+++ b/test/addons/dlopen-ping-pong/ping.c@@ -2,6 +2,7 @@
const char* dlopen_pong(void);
+__attribute__((visibility("default")))
const char* dlopen_ping(void) {
return dlopen_pong();
}
diff --git a/test/addons/openssl-client-cert-engine/testengine.cc b/test/addons/openssl-client-cert-engine/testengine.cc
index 078695a056..b0acf23c06 100644
--- a/test/addons/openssl-client-cert-engine/testengine.cc+++ b/test/addons/openssl-client-cert-engine/testengine.cc@@ -19,6 +19,12 @@
#define AGENT_KEY "test/fixtures/keys/agent1-key.pem"
#define AGENT_CERT "test/fixtures/keys/agent1-cert.pem"
+#ifdef _WIN32+# define DEFAULT_VISIBILITY+#else+# define DEFAULT_VISIBILITY __attribute__((visibility("default")))+#endif+
namespace {
int EngineInit(ENGINE* engine) {
@@ -93,8 +99,8 @@ int bind_fn(ENGINE* engine, const char* id) {
}
extern "C" {
- IMPLEMENT_DYNAMIC_CHECK_FN();- IMPLEMENT_DYNAMIC_BIND_FN(bind_fn);+ DEFAULT_VISIBILITY IMPLEMENT_DYNAMIC_CHECK_FN();+ DEFAULT_VISIBILITY IMPLEMENT_DYNAMIC_BIND_FN(bind_fn);
}
} // anonymous namespaceIt does mean the new version of node-gyp might break third-party code that worked by accident before, and I suppose that means it has to be reverted because it landed in a patch release... |
rvagg
commented
Jul 16, 2019
FWIW I submitted a job just after I posted that last comment with that patch undone and it's passing: https://ci.nodejs.org/job/node-test-commit/30143/ Let's get that revert done and a release out tomorrow. @bnoordhuis will you take care of getting your patch into here so we can do that change in a node-gyp v6? |
This reverts commit 2761afb. Building with `-fvisibility=hidden` breaks some of Node's add-on tests and therefore likely also affects third-party add-ons. This change was landed in a patch release so I'm opting to revert it until the next major release. PR-URL: #1828 Refs: nodejs/node#28647 (comment) Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rod Vagg <rod@vagg.org>
rvagg
commented
Jul 17, 2019
node-gyp@5.0.3 is out and fixes this by reverting the change to addon.gypi, we'll push out a v6 sometime soon because we have at least one other semver-major queued. For now, any thoughts on how to handle this? Do we wait for an new npm with it or do we patch it on top of 6.10.1 for this PR? |
bnoordhuis
commented
Jul 17, 2019
Npm needs to do a new release anyway, otherwise people still get a broken install when they manually upgrade to 6.10.1. |
irega
commented
Jul 17, 2019
@bnoordhuis@rvagg I have started to update "npm-lifecycle" and "npm" with this PR. It is pending of approvement |
irega
commented
Jul 19, 2019
isaacs
commented
Jul 26, 2019
Closing in favor of #28853 |
Upcoming changes to node-gyp will turn on `-fvisibility=hidden` on macOS. Ensure that public symbols that are dlsym'd have default visibility. Refs: nodejs#28647 Refs: nodejs/node-gyp#1828
Upcoming changes to node-gyp will turn on `-fvisibility=hidden` on macOS. Ensure that public symbols that are dlsym'd have default visibility. Refs: nodejs#28647 Refs: nodejs/node-gyp#1828 PR-URL: nodejs#28717 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Upcoming changes to node-gyp will turn on `-fvisibility=hidden` on macOS. Ensure that public symbols that are dlsym'd have default visibility. Refs: #28647 Refs: nodejs/node-gyp#1828 PR-URL: #28717 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Upcoming changes to node-gyp will turn on `-fvisibility=hidden` on macOS. Ensure that public symbols that are dlsym'd have default visibility. Refs: #28647 Refs: nodejs/node-gyp#1828 PR-URL: #28717 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Upcoming changes to node-gyp will turn on `-fvisibility=hidden` on macOS. Ensure that public symbols that are dlsym'd have default visibility. Refs: #28647 Refs: nodejs/node-gyp#1828 PR-URL: #28717 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Full release notes: https://npm.community/t/release-npm-6-10-1/8790
Notable changes:
running npm from within an existing git process does not get borked.