nteract / hydrogen

:atom: Run code interactively, inspect data, and plot. All the power of Jupyter kernels, inside your favorite text editor.
https://nteract.gitbooks.io/hydrogen/
MIT License
3.92k stars 333 forks source link

Can't update to 2.15.3 on Ubuntu #2091

Closed wjandrea closed 3 years ago

wjandrea commented 3 years ago

Prerequisites

Description

Can't update to Hydrogen 2.15.3 on Linux

Steps to Reproduce

  1. Try to update Hydrogen

Versions

OS version: Ubuntu 18.04.5 Kernel: Linux 4.15.0-142-generic Architecture: x86-64

$ atom --version
Atom    : 1.56.0
Electron: 9.4.4
Chrome  : 83.0.4103.122
Node    : 12.14.1
$ apm --version
apm  2.5.2
npm  6.14.8
node 12.4.0 x64
atom 1.56.0
python 2.7.17
git 2.17.1

Hydrogen version:

Atom says 2.14.7, but apm show hydrogen says 2.15.3.

Plugins

Have you installed and activated any of the Hydrogen plugins below ?

Logs

Expected behavior

Update Hydrogen

Screenshots

Capture d’écran de 2021-04-17 13-45-02

Additional context

(none)

n-riesco commented 3 years ago

It looks like we're still having trouble with one of our native dependencies.

Here's a workaround to install Hydrogen in Ubuntu:

$ sudo apt-get install libzmq3-dev
$ npm_config_zmq_external=true apm install hydrogen # and restart atom if it was already open
n-riesco commented 3 years ago

I can reproduce the issue:

Click to error log for Hydrogen 2.15.3 and Atom 1.56.0 ``` > @aminya/zeromq@5.2.15 install /tmp/apm-install-dir-2021317-556-gvragi.gcing/node_modules/Hydrogen/node_modules/@aminya/zeromq > node-gyp-build || npm run build:libzmq make: Entering directory '/tmp/apm-install-dir-2021317-556-gvragi.gcing/node_modules/Hydrogen/node_modules/@aminya/zeromq/build' ACTION binding_gyp_libzmq_target_prepare_build zmq/BUILD_SUCCESS Building libzmq for linux TOUCH Release/obj.target/libzmq.stamp CXX(target) Release/obj.target/zmq/binding.o SOLINK_MODULE(target) Release/obj.target/zmq.node make: Leaving directory '/tmp/apm-install-dir-2021317-556-gvragi.gcing/node_modules/Hydrogen/node_modules/@aminya/zeromq/build' > @aminya/zeromq@5.2.15 build:libzmq /tmp/apm-install-dir-2021317-556-gvragi.gcing/node_modules/Hydrogen/node_modules/@aminya/zeromq > node-gyp rebuild make: Entering directory '/tmp/apm-install-dir-2021317-556-gvragi.gcing/node_modules/Hydrogen/node_modules/@aminya/zeromq/build' ACTION binding_gyp_libzmq_target_prepare_build zmq/BUILD_SUCCESS Building libzmq for linux TOUCH Release/obj.target/libzmq.stamp CXX(target) Release/obj.target/zmq/binding.o SOLINK_MODULE(target) Release/obj.target/zmq.node make: Leaving directory '/tmp/apm-install-dir-2021317-556-gvragi.gcing/node_modules/Hydrogen/node_modules/@aminya/zeromq/build' npm WARN deprecated core-js@2.6.12: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3. npm WARN deprecated json-parser@1.1.5: `json-parser` is deprecated. Please use `comment-json` instead npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1 npm WARN deprecated highlight.js@9.15.10: Version no longer supported. Upgrade to @latest child process exited with code null In file included from ../binding.cc:24: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:9116:75: warning: 'MicrotasksCompletedCallback' is deprecated [-Wdeprecated-declarations] void AddMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); ^ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:9124:78: warning: 'MicrotasksCompletedCallback' is deprecated [-Wdeprecated-declarations] void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); ^ ../binding.cc: In member function 'void zmq::Socket::NotifyReadReady()': ../binding.cc:399:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:399:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function 'void zmq::Socket::NotifySendReady()': ../binding.cc:407:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:407:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function 'void zmq::Socket::MonitorEvent(uint16_t, int32_t, char*)': ../binding.cc:458:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 4, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:458:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 4, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function 'void zmq::Socket::MonitorError(const char*)': ../binding.cc:473:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:473:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function 'static void zmq::Socket::UV_MonitorCallback(uv_timer_t*, int)': ../binding.cc:545:98: warning: cast between incompatible function types from 'void (*)(uv_timer_t*, int)' {aka 'void (*)(uv_timer_s*, int)'} to 'uv_timer_cb' {aka 'void (*)(uv_timer_s*)'} [-Wcast-function-type] uv_timer_start(s->monitor_handle_, reinterpret_cast(Socket::UV_MonitorCallback), s->timer_interval_, 0); ^ ../binding.cc: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Bind(Nan::NAN_METHOD_ARGS_TYPE)': ../binding.cc:779:37: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type] (uv_after_work_cb)UV_BindAsyncAfter); ^~~~~~~~~~~~~~~~~ ../binding.cc: In static member function 'static void zmq::Socket::UV_BindAsyncAfter(uv_work_t*)': ../binding.cc:814:70: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:814:70: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Unbind(Nan::NAN_METHOD_ARGS_TYPE)': ../binding.cc:860:37: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type] (uv_after_work_cb)UV_UnbindAsyncAfter); ^~~~~~~~~~~~~~~~~~~ ../binding.cc: In static member function 'static void zmq::Socket::UV_UnbindAsyncAfter(uv_work_t*)': ../binding.cc:893:70: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:893:70: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Monitor(Nan::NAN_METHOD_ARGS_TYPE)': ../binding.cc:1122:103: warning: cast between incompatible function types from 'void (*)(uv_timer_t*, int)' {aka 'void (*)(uv_timer_s*, int)'} to 'uv_timer_cb' {aka 'void (*)(uv_timer_s*)'} [-Wcast-function-type] uv_timer_start(socket->monitor_handle_, reinterpret_cast(Socket::UV_MonitorCallback), timer_interval, 0); ^ In file included from ../binding.cc:25: ../binding.cc: At global scope: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node.h:566:43: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local, v8::Local, void*)'} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node.h:600:3: note: in expansion of macro 'NODE_MODULE_X' NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../binding.cc:1558:1: note: in expansion of macro 'NODE_MODULE' NODE_MODULE(zmq, init) ^~~~~~~~~~~ In file included from ../binding.cc:24: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]': /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node_object_wrap.h:84:78: required from here /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:10818:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]': ../../../nan/nan_object_wrap.h:65:61: required from here /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:10818:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] g++: error: ./Release/../../zmq/lib/libzmq.a: No such file or directory make: *** [zmq.target.mk:145: Release/obj.target/zmq.node] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23) gyp ERR! stack at ChildProcess.emit (events.js:200:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Linux 5.4.0-72-generic gyp ERR! command "/usr/share/atom/resources/app/apm/bin/node" "/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /tmp/apm-install-dir-2021317-556-gvragi.gcing/node_modules/Hydrogen/node_modules/@aminya/zeromq gyp ERR! node -v v12.4.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok child process exited with code null In file included from ../binding.cc:24: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:9116:75: warning: 'MicrotasksCompletedCallback' is deprecated [-Wdeprecated-declarations] void AddMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); ^ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:9124:78: warning: 'MicrotasksCompletedCallback' is deprecated [-Wdeprecated-declarations] void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); ^ ../binding.cc: In member function 'void zmq::Socket::NotifyReadReady()': ../binding.cc:399:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:399:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function 'void zmq::Socket::NotifySendReady()': ../binding.cc:407:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:407:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function 'void zmq::Socket::MonitorEvent(uint16_t, int32_t, char*)': ../binding.cc:458:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 4, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:458:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 4, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function 'void zmq::Socket::MonitorError(const char*)': ../binding.cc:473:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:473:73: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function 'static void zmq::Socket::UV_MonitorCallback(uv_timer_t*, int)': ../binding.cc:545:98: warning: cast between incompatible function types from 'void (*)(uv_timer_t*, int)' {aka 'void (*)(uv_timer_s*, int)'} to 'uv_timer_cb' {aka 'void (*)(uv_timer_s*)'} [-Wcast-function-type] uv_timer_start(s->monitor_handle_, reinterpret_cast(Socket::UV_MonitorCallback), s->timer_interval_, 0); ^ ../binding.cc: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Bind(Nan::NAN_METHOD_ARGS_TYPE)': ../binding.cc:779:37: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type] (uv_after_work_cb)UV_BindAsyncAfter); ^~~~~~~~~~~~~~~~~ ../binding.cc: In static member function 'static void zmq::Socket::UV_BindAsyncAfter(uv_work_t*)': ../binding.cc:814:70: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:814:70: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Unbind(Nan::NAN_METHOD_ARGS_TYPE)': ../binding.cc:860:37: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type] (uv_after_work_cb)UV_UnbindAsyncAfter); ^~~~~~~~~~~~~~~~~~~ ../binding.cc: In static member function 'static void zmq::Socket::UV_UnbindAsyncAfter(uv_work_t*)': ../binding.cc:893:70: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:893:70: warning: 'v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)' is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Monitor(Nan::NAN_METHOD_ARGS_TYPE)': ../binding.cc:1122:103: warning: cast between incompatible function types from 'void (*)(uv_timer_t*, int)' {aka 'void (*)(uv_timer_s*, int)'} to 'uv_timer_cb' {aka 'void (*)(uv_timer_s*)'} [-Wcast-function-type] uv_timer_start(socket->monitor_handle_, reinterpret_cast(Socket::UV_MonitorCallback), timer_interval, 0); ^ In file included from ../binding.cc:25: ../binding.cc: At global scope: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node.h:566:43: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local, v8::Local, void*)'} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node.h:600:3: note: in expansion of macro 'NODE_MODULE_X' NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../binding.cc:1558:1: note: in expansion of macro 'NODE_MODULE' NODE_MODULE(zmq, init) ^~~~~~~~~~~ In file included from ../binding.cc:24: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]': /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node_object_wrap.h:84:78: required from here /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:10818:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]': ../../../nan/nan_object_wrap.h:65:61: required from here /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:10818:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] g++: error: ./Release/../../zmq/lib/libzmq.a: No such file or directory make: *** [zmq.target.mk:145: Release/obj.target/zmq.node] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23) gyp ERR! stack at ChildProcess.emit (events.js:200:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Linux 5.4.0-72-generic gyp ERR! command "/usr/share/atom/resources/app/apm/bin/node" "/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /tmp/apm-install-dir-2021317-556-gvragi.gcing/node_modules/Hydrogen/node_modules/@aminya/zeromq gyp ERR! node -v v12.4.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @aminya/zeromq@5.2.15 build:libzmq: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @aminya/zeromq@5.2.15 build:libzmq script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm WARN Local package.json exists, but node_modules missing, did you mean to install? npm ERR! A complete log of this run can be found in: npm ERR! /home/nriesco/.atom/.apm/_logs/2021-04-17T18_59_51_485Z-debug.log npm WARN enoent ENOENT: no such file or directory, open '/tmp/apm-install-dir-2021317-556-gvragi.gcing/package.json' npm WARN apm-install-dir-2021317-556-gvragi.gcing No description npm WARN apm-install-dir-2021317-556-gvragi.gcing No repository field. npm WARN apm-install-dir-2021317-556-gvragi.gcing No README data npm WARN apm-install-dir-2021317-556-gvragi.gcing No license field. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @aminya/zeromq@5.2.15 install: `node-gyp-build || npm run build:libzmq` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @aminya/zeromq@5.2.15 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/nriesco/.atom/.apm/_logs/2021-04-17T18_59_52_518Z-debug.log ```

aminya commented 3 years ago

Can you run node-gyp-build inside node_modules/@aminya/zeromq and give me the result? I don't understand why it even builds as prebuilds are already included in the package!

n-riesco commented 3 years ago

@aminya

Here's what I get:

$ npm --versions
{
  npm: '6.14.12',
  ares: '1.16.1',
  brotli: '1.0.9',
  cldr: '37.0',
  icu: '67.1',
  llhttp: '2.1.3',
  modules: '83',
  napi: '7',
  nghttp2: '1.41.0',
  node: '14.16.1',
  openssl: '1.1.1k',
  tz: '2020a',
  unicode: '13.0',
  uv: '1.40.0',
  v8: '8.4.371.19-node.18',
  zlib: '1.2.11'
}

$ npm_config_zmq_external=true apm install hydrogen
Installing hydrogen to /home/nriesco/.atom/packages ✓

$ npm i -g node-gyp-build
/home/nriesco/bin/node-gyp-build -> /home/nriesco/lib/node_modules/node-gyp-build/bin.js
/home/nriesco/bin/node-gyp-build-optional -> /home/nriesco/lib/node_modules/node-gyp-build/optional.js
/home/nriesco/bin/node-gyp-build-test -> /home/nriesco/lib/node_modules/node-gyp-build/build-test.js
+ node-gyp-build@4.2.3
updated 1 package in 0.253s

$ npm i -g node-gyp
/home/nriesco/bin/node-gyp -> /home/nriesco/lib/node_modules/node-gyp/bin/node-gyp.js
+ node-gyp@8.0.0
updated 1 package in 2.377s

$ cd .atom/packages/Hydrogen/node_modules/\@aminya/zeromq/

$ node-gyp-build
gyp info it worked if it ends with ok
gyp info using node-gyp@8.0.0
gyp info using node@14.16.1 | linux | x64
gyp info find Python using Python version 3.7.3 found at "/usr/bin/python3"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args   '/home/nriesco/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/nriesco/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/nriesco/.cache/node-gyp/14.16.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/nriesco/.cache/node-gyp/14.16.1',
gyp info spawn args   '-Dnode_gyp_dir=/home/nriesco/lib/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/nriesco/.cache/node-gyp/14.16.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/build'
  ACTION binding_gyp_libzmq_target_prepare_build zmq/BUILD_SUCCESS
Building libzmq for linux
child process exited with code null
  TOUCH Release/obj.target/libzmq.stamp
  CXX(target) Release/obj.target/zmq/binding.o
../binding.cc: In member function ‘void zmq::Socket::NotifyReadReady()’:
../binding.cc:399:73: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(this->handle(), callback_v.As<Function>(), 0, NULL);
                                                                         ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc:399:73: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(this->handle(), callback_v.As<Function>(), 0, NULL);
                                                                         ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc: In member function ‘void zmq::Socket::NotifySendReady()’:
../binding.cc:407:73: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(this->handle(), callback_v.As<Function>(), 0, NULL);
                                                                         ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc:407:73: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(this->handle(), callback_v.As<Function>(), 0, NULL);
                                                                         ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc: In member function ‘void zmq::Socket::MonitorEvent(uint16_t, int32_t, char*)’:
../binding.cc:458:73: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(this->handle(), callback_v.As<Function>(), 4, argv);
                                                                         ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc:458:73: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(this->handle(), callback_v.As<Function>(), 4, argv);
                                                                         ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc: In member function ‘void zmq::Socket::MonitorError(const char*)’:
../binding.cc:473:73: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(this->handle(), callback_v.As<Function>(), 1, argv);
                                                                         ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc:473:73: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(this->handle(), callback_v.As<Function>(), 1, argv);
                                                                         ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc: In static member function ‘static void zmq::Socket::UV_MonitorCallback(uv_timer_t*, int)’:
../binding.cc:545:98: warning: cast between incompatible function types from ‘void (*)(uv_timer_t*, int)’ {aka ‘void (*)(uv_timer_s*, int)’} to ‘uv_timer_cb’ {aka ‘void (*)(uv_timer_s*)’} [-Wcast-function-type]
       uv_timer_start(s->monitor_handle_, reinterpret_cast<uv_timer_cb>(Socket::UV_MonitorCallback), s->timer_interval_, 0);
                                                                                                  ^
../binding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Bind(Nan::NAN_METHOD_ARGS_TYPE)’:
../binding.cc:779:37: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   (uv_after_work_cb)UV_BindAsyncAfter);
                                     ^~~~~~~~~~~~~~~~~
../binding.cc: In static member function ‘static void zmq::Socket::UV_BindAsyncAfter(uv_work_t*)’:
../binding.cc:814:70: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv);
                                                                      ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc:814:70: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv);
                                                                      ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Unbind(Nan::NAN_METHOD_ARGS_TYPE)’:
../binding.cc:860:37: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   (uv_after_work_cb)UV_UnbindAsyncAfter);
                                     ^~~~~~~~~~~~~~~~~~~
../binding.cc: In static member function ‘static void zmq::Socket::UV_UnbindAsyncAfter(uv_work_t*)’:
../binding.cc:893:70: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv);
                                                                      ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc:893:70: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv);
                                                                      ^
In file included from ../binding.cc:40:
../../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../binding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Monitor(Nan::NAN_METHOD_ARGS_TYPE)’:
../binding.cc:1122:103: warning: cast between incompatible function types from ‘void (*)(uv_timer_t*, int)’ {aka ‘void (*)(uv_timer_s*, int)’} to ‘uv_timer_cb’ {aka ‘void (*)(uv_timer_s*)’} [-Wcast-function-type]
       uv_timer_start(socket->monitor_handle_, reinterpret_cast<uv_timer_cb>(Socket::UV_MonitorCallback), timer_interval, 0);
                                                                                                       ^
In file included from ../binding.cc:25:
../binding.cc: At global scope:
/home/nriesco/.cache/node-gyp/14.16.1/include/node/node.h:758:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/home/nriesco/.cache/node-gyp/14.16.1/include/node/node.h:792:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../binding.cc:1558:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(zmq, init)
 ^~~~~~~~~~~
In file included from ../binding.cc:24:
/home/nriesco/.cache/node-gyp/14.16.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/nriesco/.cache/node-gyp/14.16.1/include/node/node_object_wrap.h:85:78:   required from here
/home/nriesco/.cache/node-gyp/14.16.1/include/node/v8.h:10874:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/nriesco/.cache/node-gyp/14.16.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../../nan/nan_object_wrap.h:65:61:   required from here
/home/nriesco/.cache/node-gyp/14.16.1/include/node/v8.h:10874:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
  SOLINK_MODULE(target) Release/obj.target/zmq.node
g++: error: ./Release/../../zmq/lib/libzmq.a: No such file or directory
make: *** [zmq.target.mk:143: Release/obj.target/zmq.node] Error 1
make: Leaving directory '/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/nriesco/lib/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 5.4.0-72-generic
gyp ERR! command "/home/nriesco/.local/lib/node-v14.16.1-linux-x64/bin/node" "/home/nriesco/lib/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq
gyp ERR! node -v v14.16.1
gyp ERR! node-gyp -v v8.0.0
gyp ERR! not ok 
$ 
aminya commented 3 years ago

Oh, forgot that running node-gyp-build directly doesn't work as you are using your system's npm rather than what apm uses. So, it will not find prebuilds.

n-riesco commented 3 years ago

@aminya Please, see https://github.com/zeromq/zeromq.js/pull/458 . It fixes the issue with building from source.

Is there anything I can do to debug why node-gyp-build doesn't use the prebuilts?

I see these prebuilts in the package installed by Hydrogen:

$ find . -name *.node
./build/Release/obj.target/zmq.node
./build/Release/zmq.node
./prebuilds/linux-x64/node.abi72.node
./prebuilds/linux-x64/electron.abi80.node
./prebuilds/linux-x64/electron.abi73.node
./prebuilds/linux-x64/electron.abi70.node
./prebuilds/win32-x64/node.abi72.node
./prebuilds/win32-x64/electron.abi80.node
./prebuilds/win32-x64/electron.abi73.node
./prebuilds/win32-x64/electron.abi70.node
./prebuilds/darwin-x64/node.abi72.node
./prebuilds/darwin-x64/electron.abi80.node
./prebuilds/darwin-x64/electron.abi73.node
./prebuilds/darwin-x64/electron.abi70.node
./prebuilds/win32-ia32/node.abi72.node
./prebuilds/win32-ia32/electron.abi80.node
./prebuilds/win32-ia32/electron.abi73.node
./prebuilds/win32-ia32/electron.abi70.node
aminya commented 3 years ago

Try apm install --verbose and see what happens inside node-gyp-build before it starts to build from the source. There should be a message like: No prebuilds were found for this architecture.

n-riesco commented 3 years ago

No message, it goes directly to build from source:

$ pwd
/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq

$ apm install --verbose
Installing modules npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

> @aminya/zeromq@5.2.15 install /home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq
> node-gyp-build || npm run build:libzmq

make: Entering directory '/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/build'
  ACTION binding_gyp_libzmq_target_prepare_build zmq/BUILD_SUCCESS
Building libzmq for linux

[...]
n-riesco commented 3 years ago

@aminya I've edited package.json so that install invokes node-gyp-build-test. This shows that we need the prebuilt for ABI 72 (Atom v1.56.0 comes with node v12.14.1, i.e. ABI 72).

$ apm install --verbose
Installing modules 
> @aminya/zeromq@5.2.15 install /home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq
> node-gyp-build-test || npm run build:libzmq

internal/modules/cjs/loader.js:815
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: The module '/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/build/Release/zmq.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 80. This version of Node.js requires
NODE_MODULE_VERSION 72. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:815:18)
    at Module.load (internal/modules/cjs/loader.js:641:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Module.require (internal/modules/cjs/loader.js:681:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at load (/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/node_modules/node-gyp-build/index.js:21:10)
    at Object.<anonymous> (/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/node_modules/node-gyp-build/build-test.js:19:19)
    at Module._compile (internal/modules/cjs/loader.js:774:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
    at Module.load (internal/modules/cjs/loader.js:641:32)
aminya commented 3 years ago

The error from Node-js is a little fuzzy. Electron's ABI versions are usually 1 number more than Node's ABI version. So, when it says 72, it probably means 73, which as you see it is included:

image

n-riesco commented 3 years ago

OK, this is what I get after I delete the zmq.node I had previously built. Now, the error is similar to what one of our users reported:

$ rm -rf build/Release/
$ apm install --verbose
Installing modules 
> @aminya/zeromq@5.2.15 install /home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq
> node-gyp-build-test || npm run build:libzmq

internal/modules/cjs/loader.js:815
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/prebuilds/linux-x64/node.abi72.node)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:815:18)
    at Module.load (internal/modules/cjs/loader.js:641:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Module.require (internal/modules/cjs/loader.js:681:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at load (/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/node_modules/node-gyp-build/index.js:21:10)
    at Object.<anonymous> (/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/node_modules/node-gyp-build/build-test.js:19:19)
    at Module._compile (internal/modules/cjs/loader.js:774:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
    at Module.load (internal/modules/cjs/loader.js:641:32)

> @aminya/zeromq@5.2.15 build:libzmq /home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq
> node-gyp rebuild

make: Entering directory '/home/nriesco/.atom/packages/Hydrogen/node_modules/@aminya/zeromq/build'
[...]
aminya commented 3 years ago

I haven't found a general solution for the version 'GLIBCXX_3.4.22' not found error other than installing libstdc++.

https://github.com/nodejs/node-gyp/issues/2297

n-riesco commented 3 years ago

It's installed in my machine. I guess the problem is the version.

aminya commented 3 years ago

I am asking the question again to see if we can do anything about it https://github.com/nodejs/node-gyp/issues/2297#issuecomment-821981723

n-riesco commented 3 years ago

Do you know what triggered this issue? What has changed between zeromq@5.2.0 and zeromq@5.2.7? Is it because the new prebuilts come from GH actions?

n-riesco commented 3 years ago

If I'm getting this right. The issue is that GH action is building the linux prebuilts in ubuntu-20.04, which uses gcc v9; whereas Debian 10 uses gcc v8.

This isn't really a bug. For gcc v8 zeromq fallback to build from source, as it should,

aminya commented 3 years ago

@n-riesco Could you remove hydrogen, and then clone the master branch, and try to run the tests?

git clone https://github.com/nteract/hydrogen.git
cd hydrogen
apm install --verbose
npm run build
npm run test

I think this time the source build passes, but still, it doesn't find the correct prebuilds?

n-riesco commented 3 years ago

@aminya It works until npm commands (but I'd expect so)

Click to expand log ``` $ cd $ cd .atom/packages/ $ rm -rf Hydrogen $ git clone https://github.com/nteract/hydrogen.git Cloning into 'hydrogen'... remote: Enumerating objects: 11188, done. remote: Counting objects: 100% (1059/1059), done. remote: Compressing objects: 100% (497/497), done. remote: Total 11188 (delta 587), reused 986 (delta 544), pack-reused 10129 Receiving objects: 100% (11188/11188), 2.56 MiB | 3.37 MiB/s, done. Resolving deltas: 100% (7404/7404), done. $ cd hydrogen/ $ apm install --verbose Installing modules npm WARN deprecated core-js@2.6.12: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3. npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. npm WARN deprecated ejs@1.0.0: Critical security bugs fixed in 2.5.5 npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) npm WARN deprecated babel-eslint@7.2.3: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated json-parser@1.1.5: `json-parser` is deprecated. Please use `comment-json` instead npm WARN deprecated highlight.js@9.15.10: Version no longer supported. Upgrade to @latest npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1 npm WARN deprecated har-validator@5.1.5: this library is no longer supported > @aminya/zeromq@5.2.16 install /home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq > node-gyp-build || npm run build:libzmq make: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/build' ACTION binding_gyp_libzmq_target_prepare_build zmq/BUILD_SUCCESS Building libzmq for linux build_libzmq.sh: Building version 4.2.2 for architecture x64 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '1111' is supported by ustar format... yes checking whether GID '1111' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether make supports nested variables... (cached) yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking whether C compiler accepts -std=gnu11... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking whether g++ supports C++11 features by default... yes checking for a sed that does not truncate output... /bin/sed checking whether to build with code coverage support... no checking for a sed that does not truncate output... (cached) /bin/sed checking for gawk... (cached) mawk checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for xmlto... no checking for asciidoc... no checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... (cached) /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no ./configure: line 9763: /usr/bin/file: No such file or directory checking for mt... no checking if : is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking how to run the C++ preprocessor... g++ -E checking for ld used by g++... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for valgrind... no checking whether the C compiler works... yes checking whether we are using Intel C compiler... no checking whether we are using Sun Studio C compiler... no checking whether we are using clang C compiler... no checking whether we are using gcc >= 4 C compiler... yes checking whether the C++ compiler works... yes checking whether we are using Intel C++ compiler... no checking whether we are using Sun Studio C++ compiler... no checking whether we are using clang C++ compiler... no checking whether we are using gcc >= 4 C++ compiler... yes checking whether to enable debugging information... no checking whether to enable code coverage... no checking if TIPC is available and supports nonblocking connect... no checking for library containing dladdr... -ldl checking for pthread_create in -lpthread... yes checking for clock_gettime in -lrt... yes checking whether C++ compiler supports -fvisibility=hidden... yes checking whether C++ compiler supports dso visibility... yes checking whether to build documentation... no checking whether to install manpages... no configure: Choosing polling system from 'kqueue epoll devpoll pollset poll select'... configure: Using 'epoll' polling system with CLOEXEC checking for ANSI C header files... (cached) yes checking errno.h usability... yes checking errno.h presence... yes checking for errno.h... yes checking time.h usability... yes checking time.h presence... yes checking for time.h... yes checking for unistd.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking netinet/tcp.h usability... yes checking netinet/tcp.h presence... yes checking for netinet/tcp.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking ifaddrs.h usability... yes checking ifaddrs.h presence... yes checking for ifaddrs.h... yes checking sys/uio.h usability... yes checking sys/uio.h presence... yes checking for sys/uio.h... yes checking sys/eventfd.h usability... yes checking sys/eventfd.h presence... yes checking for sys/eventfd.h... yes checking whether EFD_CLOEXEC is supported... yes checking whether SO_PEERCRED is declared... yes checking whether LOCAL_PEERCRED is declared... no checking for stdbool.h that conforms to C99... no checking for _Bool... no checking for an ANSI C-conforming const... yes checking for inline... inline checking for size_t... yes checking for ssize_t... yes checking whether time.h and sys/time.h may both be included... yes checking for uint32_t... yes checking for working volatile... yes configure: Using tweetnacl for CURVE security checking "with_norm_ext = no"... no checking how to enable additional warnings for C++ compiler... -Wall checking how to turn warnings to errors in C++ compiler... -Werror checking whether compiler supports __atomic_Xxx intrinsics... yes checking return type of signal handlers... void checking for perror... yes checking for gettimeofday... yes checking for clock_gettime... yes checking for memset... no checking for socket... yes checking for getifaddrs... yes checking for freeifaddrs... yes checking for fork... no checking for posix_memalign... no checking for mkdtemp... yes checking alloca.h usability... yes checking alloca.h presence... yes checking for alloca.h... yes checking whether SOCK_CLOEXEC is supported... yes checking whether SO_KEEPALIVE is supported... yes checking whether TCP_KEEPCNT is supported... yes checking whether TCP_KEEPIDLE is supported... yes checking whether TCP_KEEPINTVL is supported... yes checking whether TCP_KEEPALIVE is supported... no checking for ./.git... no configure: Building stable and legacy API (no draft API) checking for LIBUNWIND... no configure: WARNING: Cannot find libunwind checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/libzmq.pc config.status: creating doc/Makefile config.status: creating builds/Makefile config.status: creating builds/msvc/Makefile config.status: creating src/platform.hpp config.status: executing depfiles commands config.status: executing libtool commands make[1]: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' Making all in doc make[2]: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2/doc' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2/doc' make[2]: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' CXX src/src_libzmq_la-address.lo CXX src/src_libzmq_la-client.lo CXX src/src_libzmq_la-clock.lo CXX src/src_libzmq_la-ctx.lo CXX src/src_libzmq_la-curve_client.lo CXX src/src_libzmq_la-curve_server.lo CXX src/src_libzmq_la-dealer.lo CXX src/src_libzmq_la-devpoll.lo CXX src/src_libzmq_la-dgram.lo CXX src/src_libzmq_la-dish.lo CXX src/src_libzmq_la-dist.lo CXX src/src_libzmq_la-epoll.lo CXX src/src_libzmq_la-err.lo CXX src/src_libzmq_la-fq.lo CXX src/src_libzmq_la-gather.lo CXX src/src_libzmq_la-gssapi_mechanism_base.lo CXX src/src_libzmq_la-gssapi_client.lo CXX src/src_libzmq_la-gssapi_server.lo CXX src/src_libzmq_la-io_object.lo CXX src/src_libzmq_la-io_thread.lo CXX src/src_libzmq_la-ip.lo CXX src/src_libzmq_la-ipc_address.lo CXX src/src_libzmq_la-ipc_connecter.lo CXX src/src_libzmq_la-ipc_listener.lo CXX src/src_libzmq_la-kqueue.lo CXX src/src_libzmq_la-lb.lo CXX src/src_libzmq_la-mailbox.lo CXX src/src_libzmq_la-mailbox_safe.lo CXX src/src_libzmq_la-mechanism.lo CXX src/src_libzmq_la-metadata.lo CXX src/src_libzmq_la-msg.lo CXX src/src_libzmq_la-mtrie.lo CXX src/src_libzmq_la-norm_engine.lo CXX src/src_libzmq_la-null_mechanism.lo CXX src/src_libzmq_la-object.lo CXX src/src_libzmq_la-options.lo CXX src/src_libzmq_la-own.lo CXX src/src_libzmq_la-pair.lo CXX src/src_libzmq_la-pgm_receiver.lo CXX src/src_libzmq_la-pgm_sender.lo CXX src/src_libzmq_la-pgm_socket.lo CXX src/src_libzmq_la-pipe.lo CXX src/src_libzmq_la-plain_client.lo CXX src/src_libzmq_la-plain_server.lo CXX src/src_libzmq_la-poll.lo CXX src/src_libzmq_la-poller_base.lo CXX src/src_libzmq_la-pollset.lo CXX src/src_libzmq_la-precompiled.lo CXX src/src_libzmq_la-proxy.lo CXX src/src_libzmq_la-pub.lo CXX src/src_libzmq_la-pull.lo CXX src/src_libzmq_la-push.lo CXX src/src_libzmq_la-radio.lo CXX src/src_libzmq_la-random.lo CXX src/src_libzmq_la-raw_decoder.lo CXX src/src_libzmq_la-raw_encoder.lo CXX src/src_libzmq_la-reaper.lo CXX src/src_libzmq_la-rep.lo CXX src/src_libzmq_la-req.lo CXX src/src_libzmq_la-router.lo CXX src/src_libzmq_la-scatter.lo CXX src/src_libzmq_la-select.lo CXX src/src_libzmq_la-server.lo CXX src/src_libzmq_la-session_base.lo CXX src/src_libzmq_la-signaler.lo CXX src/src_libzmq_la-socket_base.lo CXX src/src_libzmq_la-socks.lo CXX src/src_libzmq_la-socks_connecter.lo CXX src/src_libzmq_la-stream.lo CXX src/src_libzmq_la-stream_engine.lo CXX src/src_libzmq_la-sub.lo CXX src/src_libzmq_la-tcp.lo CXX src/src_libzmq_la-tcp_address.lo CXX src/src_libzmq_la-tcp_connecter.lo CXX src/src_libzmq_la-tcp_listener.lo CXX src/src_libzmq_la-thread.lo CXX src/src_libzmq_la-timers.lo CXX src/src_libzmq_la-tipc_address.lo CXX src/src_libzmq_la-tipc_connecter.lo CXX src/src_libzmq_la-tipc_listener.lo CXX src/src_libzmq_la-trie.lo CXX src/src_libzmq_la-udp_address.lo CXX src/src_libzmq_la-udp_engine.lo CXX src/src_libzmq_la-v1_decoder.lo CXX src/src_libzmq_la-v2_decoder.lo CXX src/src_libzmq_la-v1_encoder.lo CXX src/src_libzmq_la-v2_encoder.lo CXX src/src_libzmq_la-vmci.lo CXX src/src_libzmq_la-vmci_address.lo CXX src/src_libzmq_la-vmci_connecter.lo CXX src/src_libzmq_la-vmci_listener.lo CXX src/src_libzmq_la-xpub.lo CXX src/src_libzmq_la-xsub.lo CXX src/src_libzmq_la-zmq.lo CXX src/src_libzmq_la-zmq_utils.lo CXX src/src_libzmq_la-decoder_allocators.lo CXX src/src_libzmq_la-socket_poller.lo CC src/src_libzmq_la-tweetnacl.lo CXX tools/curve_keygen.o CXX perf/local_lat.o CXX perf/remote_lat.o CXX perf/local_thr.o CXX perf/remote_thr.o CXX perf/inproc_lat.o CXX perf/inproc_thr.o CXXLD src/libzmq.la ar: `u' modifier ignored since `D' is the default (see `U') CXXLD tools/curve_keygen CXXLD perf/local_lat CXXLD perf/remote_lat CXXLD perf/local_thr CXXLD perf/remote_thr CXXLD perf/inproc_lat CXXLD perf/inproc_thr make[2]: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' make[1]: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' make[1]: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' Making install in doc make[2]: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2/doc' make[3]: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2/doc' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2/doc' make[2]: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2/doc' make[2]: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' make[3]: Entering directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' /bin/mkdir -p '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib' /bin/bash ./libtool --mode=install /usr/bin/install -c src/libzmq.la '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib' libtool: install: /usr/bin/install -c src/.libs/libzmq.lai /home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib/libzmq.la libtool: install: /usr/bin/install -c src/.libs/libzmq.a /home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib/libzmq.a libtool: install: chmod 644 /home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib/libzmq.a libtool: install: ranlib /home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib/libzmq.a libtool: finish: PATH="/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/node_modules/.bin:/home/nriesco/.atom/packages/hydrogen/node_modules/.bin:/usr/share/atom/resources/app/apm/bin:/home/nriesco/.local/bin:/home/nriesco/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin" ldconfig -n /home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib ---------------------------------------------------------------------- Libraries have been installed in: /home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- /bin/mkdir -p '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/bin' /bin/bash ./libtool --mode=install /usr/bin/install -c tools/curve_keygen '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/bin' libtool: install: /usr/bin/install -c tools/curve_keygen /home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/bin/curve_keygen /bin/mkdir -p '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/include' /usr/bin/install -c -m 644 include/zmq.h include/zmq_utils.h '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/include' /bin/mkdir -p '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib/pkgconfig' /usr/bin/install -c -m 644 src/libzmq.pc '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/lib/pkgconfig' make[3]: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' make[2]: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' make[1]: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2' child process exited with code 0 TOUCH Release/obj.target/libzmq.stamp CXX(target) Release/obj.target/zmq/binding.o In file included from ../binding.cc:24: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:9116:75: warning: ‘MicrotasksCompletedCallback’ is deprecated [-Wdeprecated-declarations] void AddMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); ^ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:9124:78: warning: ‘MicrotasksCompletedCallback’ is deprecated [-Wdeprecated-declarations] void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); ^ ../binding.cc: In member function ‘void zmq::Socket::NotifyReadReady()’: ../binding.cc:399:73: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:399:73: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function ‘void zmq::Socket::NotifySendReady()’: ../binding.cc:407:73: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:407:73: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 0, NULL); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function ‘void zmq::Socket::MonitorEvent(uint16_t, int32_t, char*)’: ../binding.cc:458:73: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 4, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:458:73: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 4, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In member function ‘void zmq::Socket::MonitorError(const char*)’: ../binding.cc:473:73: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:473:73: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(this->handle(), callback_v.As(), 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function ‘static void zmq::Socket::UV_MonitorCallback(uv_timer_t*, int)’: ../binding.cc:545:98: warning: cast between incompatible function types from ‘void (*)(uv_timer_t*, int)’ {aka ‘void (*)(uv_timer_s*, int)’} to ‘uv_timer_cb’ {aka ‘void (*)(uv_timer_s*)’} [-Wcast-function-type] uv_timer_start(s->monitor_handle_, reinterpret_cast(Socket::UV_MonitorCallback), s->timer_interval_, 0); ^ ../binding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Bind(Nan::NAN_METHOD_ARGS_TYPE)’: ../binding.cc:779:37: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] (uv_after_work_cb)UV_BindAsyncAfter); ^~~~~~~~~~~~~~~~~ ../binding.cc: In static member function ‘static void zmq::Socket::UV_BindAsyncAfter(uv_work_t*)’: ../binding.cc:814:70: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:814:70: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Unbind(Nan::NAN_METHOD_ARGS_TYPE)’: ../binding.cc:860:37: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] (uv_after_work_cb)UV_UnbindAsyncAfter); ^~~~~~~~~~~~~~~~~~~ ../binding.cc: In static member function ‘static void zmq::Socket::UV_UnbindAsyncAfter(uv_work_t*)’: ../binding.cc:893:70: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc:893:70: warning: ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, 1, argv); ^ In file included from ../binding.cc:40: ../../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local MakeCallback( ^~~~~~~~~~~~ ../binding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE zmq::Socket::Monitor(Nan::NAN_METHOD_ARGS_TYPE)’: ../binding.cc:1122:103: warning: cast between incompatible function types from ‘void (*)(uv_timer_t*, int)’ {aka ‘void (*)(uv_timer_s*, int)’} to ‘uv_timer_cb’ {aka ‘void (*)(uv_timer_s*)’} [-Wcast-function-type] uv_timer_start(socket->monitor_handle_, reinterpret_cast(Socket::UV_MonitorCallback), timer_interval, 0); ^ In file included from ../binding.cc:25: ../binding.cc: At global scope: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node.h:566:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local, v8::Local, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node.h:600:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../binding.cc:1558:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(zmq, init) ^~~~~~~~~~~ In file included from ../binding.cc:24: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]’: /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/node_object_wrap.h:84:78: required from here /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:10818:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]’: ../../../nan/nan_object_wrap.h:65:61: required from here /home/nriesco/.atom/.node-gyp/.cache/node-gyp/9.4.4/include/node/v8.h:10818:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] SOLINK_MODULE(target) Release/obj.target/zmq.node COPY Release/zmq.node make: Leaving directory '/home/nriesco/.atom/packages/hydrogen/node_modules/@aminya/zeromq/build' > core-js@2.6.12 postinstall /home/nriesco/.atom/packages/hydrogen/node_modules/core-js > node -e "try{require('./postinstall')}catch(e){}" Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library! The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: > https://opencollective.com/core-js > https://www.patreon.com/zloirock Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -) > core-js-pure@3.10.1 postinstall /home/nriesco/.atom/packages/hydrogen/node_modules/core-js-pure > node -e "try{require('./postinstall')}catch(e){}" > electron@6.1.12 postinstall /home/nriesco/.atom/packages/hydrogen/node_modules/electron > node install.js > Hydrogen@2.15.3 prepare /home/nriesco/.atom/packages/hydrogen > npm run build > Hydrogen@2.15.3 build /home/nriesco/.atom/packages/hydrogen > npm run clean && tsc -p lib/tsconfig.json || echo done > Hydrogen@2.15.3 clean /home/nriesco/.atom/packages/hydrogen > shx rm -rf dist lib/code-manager.ts(111,29): error TS2339: Property 'getScopeChain' does not exist on type 'ScopeDescriptor'. lib/code-manager.ts(186,14): error TS2339: Property 'tokenizedBuffer' does not exist on type 'TextEditor'. lib/code-manager.ts(339,39): error TS2339: Property 'getHeight' does not exist on type 'TextEditorElement'. lib/components/kernel-monitor.tsx(231,15): error TS2339: Property 'displayName' does not exist on type '({ store }: { store: Store; }) => Element'. lib/components/result-view/display.tsx(28,6): error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. lib/components/result-view/display.tsx(29,6): error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. lib/components/result-view/display.tsx(30,6): error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. lib/components/result-view/display.tsx(31,6): error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. lib/components/result-view/display.tsx(33,6): error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. lib/components/result-view/display.tsx(34,6): error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. lib/components/result-view/display.tsx(35,6): error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. lib/components/result-view/display.tsx(36,6): error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. lib/components/result-view/display.tsx(69,24): error TS2322: Type '{ children: Element; expanded: true; }' is not assignable to type 'IntrinsicAttributes & Pick, "children"> & Partial, "output" | "output_type">> & Partial<...>'. Property 'expanded' does not exist on type 'IntrinsicAttributes & Pick, "children"> & Partial, "output" | "output_type">> & Partial<...>'. lib/components/result-view/display.tsx(70,22): error TS2322: Type '{ children: Element; expanded: true; }' is not assignable to type 'IntrinsicAttributes & Pick & Partial> & Partial>'. Property 'expanded' does not exist on type 'IntrinsicAttributes & Pick & Partial> & Partial>'. lib/components/result-view/display.tsx(71,21): error TS2769: No overload matches this call. Overload 1 of 2, '(props: Props | Readonly): StreamText', gave the following error. Type '{ expanded: true; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes & Pick & Readonly<{ children?: ReactNode; }>, "children"> & Partial<...> & Partial<...>'. Property 'expanded' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes & Pick & Readonly<{ children?: ReactNode; }>, "children"> & Partial<...> & Partial<...>'. Overload 2 of 2, '(props: Props, context: any): StreamText', gave the following error. Type '{ expanded: true; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes & Pick & Readonly<{ children?: ReactNode; }>, "children"> & Partial<...> & Partial<...>'. Property 'expanded' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes & Pick & Readonly<{ children?: ReactNode; }>, "children"> & Partial<...> & Partial<...>'. lib/components/result-view/display.tsx(72,28): error TS2769: No overload matches this call. Overload 1 of 2, '(props: Omit, never> & Partial, never>>, "theme"> & { theme?: any; } & { as?: never; forwardedAs?: never; }): ReactElement<...>', gave the following error. Type '{ expanded: true; }' is not assignable to type 'IntrinsicAttributes & Omit, never> & Partial, never>>, "theme"> & { ...; } & { ...; }'. Property 'expanded' does not exist on type 'IntrinsicAttributes & Omit, never> & Partial, never>>, "theme"> & { ...; } & { ...; }'. Overload 2 of 2, '(props: StyledComponentPropsWithAs<(props: Partial) => Element, any, {}, never, (props: Partial) => Element>): ReactElement<...>', gave the following error. Type '{ expanded: true; }' is not assignable to type 'IntrinsicAttributes & Omit, never> & Partial, never>>, "theme"> & { ...; } & { ...; }'. Property 'expanded' does not exist on type 'IntrinsicAttributes & Omit, never> & Partial, never>>, "theme"> & { ...; } & { ...; }'. lib/components/result-view/index.tsx(41,65): error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'PointLike'. Type 'number[]' is missing the following properties from type 'PointLike': row, column lib/components/result-view/index.tsx(44,35): error TS2339: Property 'getWidth' does not exist on type 'TextEditorElement'. lib/components/result-view/index.tsx(45,7): error TS2345: Argument of type '{ lineLength: number; lineHeight: number; editorWidth: any; charWidth: any; }' is not assignable to parameter of type '{ lineHeight?: number; lineLength?: number; editorWidth?: number; }'. Object literal may only specify known properties, and 'charWidth' does not exist in type '{ lineHeight?: number; lineLength?: number; editorWidth?: number; }'. lib/components/result-view/index.tsx(45,25): error TS2339: Property 'getDefaultCharWidth' does not exist on type 'TextEditor'. lib/components/result-view/index.tsx(54,40): error TS2339: Property 'id' does not exist on type 'DisplayMarker'. lib/components/result-view/index.tsx(61,39): error TS2339: Property 'getWidth' does not exist on type 'TextEditorElement'. lib/components/result-view/index.tsx(62,11): error TS2345: Argument of type '{ lineLength: number; lineHeight: number; editorWidth: any; charWidth: any; }' is not assignable to parameter of type '{ lineHeight?: number; lineLength?: number; editorWidth?: number; }'. Object literal may only specify known properties, and 'charWidth' does not exist in type '{ lineHeight?: number; lineLength?: number; editorWidth?: number; }'. lib/components/result-view/index.tsx(62,29): error TS2339: Property 'getDefaultCharWidth' does not exist on type 'TextEditor'. lib/components/result-view/plotly.tsx(60,67): error TS2554: Expected 3 arguments, but got 4. lib/components/result-view/plotly.tsx(65,29): error TS2339: Property 'Icons' does not exist on type '{ newPlot: (div: void | HTMLDivElement, data: Record, layout: FigureLayout) => void; redraw: (div?: PlotlyHTMLElement) => void; toImage: (gd: any) => Promise<...>; }'. lib/components/result-view/plotly.tsx(102,7): error TS2739: Type 'Record' is missing the following properties from type 'Figure': data, layout lib/export-notebook.ts(31,25): error TS2559: Type '(filename: any) => void' has no properties in common with type 'SaveDialogOptions'. lib/import-notebook.ts(12,37): error TS2305: Module '"@nteract/commutable"' has no exported member 'Cell'. lib/import-notebook.ts(174,23): error TS2339: Property 'toJS' does not exist on type 'object | JSONObject'. Property 'toJS' does not exist on type 'object'. lib/import-notebook.ts(174,54): error TS2339: Property 'toJS' does not exist on type 'object | JSONObject'. Property 'toJS' does not exist on type 'object'. lib/import-notebook.ts(269,31): error TS2339: Property 'fileTypes' does not exist on type 'Grammar'. lib/main.ts(88,5): error TS2769: No overload matches this call. Overload 1 of 4, '(target: "atom-text-editor:not([mini])", commands: { [key: string]: CommandRegistryListener; }): CompositeDisposable', gave the following error. Type '() => Promise' is not assignable to type 'CommandRegistryListener'. Type '() => Promise' is not assignable to type '(event: CommandEvent) => void | Promise'. Type 'Promise' is not assignable to type 'void | Promise'. Type 'Promise' is not assignable to type 'Promise'. Type 'KernelspecMetadata[]' is not assignable to type 'void'. Overload 2 of 4, '(target: Node, commands: { [key: string]: CommandRegistryListener; }): CompositeDisposable', gave the following error. Argument of type 'string' is not assignable to parameter of type 'Node'. lib/main.ts(120,54): error TS2554: Expected 1 arguments, but got 0. lib/main.ts(124,11): error TS2345: Argument of type '{ command: string; }' is not assignable to parameter of type '{ command: string; payload: KernelspecMetadata; }'. Property 'payload' is missing in type '{ command: string; }' but required in type '{ command: string; payload: KernelspecMetadata; }'. lib/main.ts(131,11): error TS2345: Argument of type '{ command: string; }' is not assignable to parameter of type '{ command: string; payload: KernelspecMetadata; }'. Property 'payload' is missing in type '{ command: string; }' but required in type '{ command: string; payload: KernelspecMetadata; }'. lib/main.ts(138,11): error TS2345: Argument of type '{ command: string; }' is not assignable to parameter of type '{ command: string; payload: KernelspecMetadata; }'. Property 'payload' is missing in type '{ command: string; }' but required in type '{ command: string; payload: KernelspecMetadata; }'. lib/main.ts(217,52): error TS2345: Argument of type '(uri: string) => Promise' is not assignable to parameter of type '(uri: string, options?: WorkspaceOpenOptions) => ViewModel'. Property 'getTitle' is missing in type 'Promise' but required in type 'ViewModel'. lib/main.ts(308,12): error TS2554: Expected 1 arguments, but got 0. lib/main.ts(575,25): error TS2345: Argument of type '(kernelSpec: KernelspecMetadata) => boolean' is not assignable to parameter of type '(kernelSpec: ISpecModel) => boolean'. Types of parameters 'kernelSpec' and 'kernelSpec' are incompatible. Type 'ISpecModel' is not assignable to type 'KernelspecMetadata'. Types of property 'env' are incompatible. Type 'JSONObject' is not assignable to type '{ [variable: string]: string; }'. Index signatures are incompatible. Type 'JSONValue' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. lib/plugin-api/hydrogen-kernel.ts(79,51): error TS2339: Property 'connectionFile' does not exist on type 'KernelTransport'. lib/plugin-api/hydrogen-kernel.ts(80,32): error TS2339: Property 'connectionFile' does not exist on type 'KernelTransport'. lib/services/provided/autocomplete.ts(187,3): error TS2322: Type '{ enabled: any; selector: string; disableForSelector: string; inclusionPriority: number; suggestionPriority: any; excludeLowerPriority: boolean; suggestionDetailsEnabled: any; getSuggestions({ editor, bufferPosition, prefix }: { ...; }): Promise<...>; getSuggestionDetailsOnSelect({ text, replacementPrefix, replacedT...' is not assignable to type 'AutocompleteProvider'. The types returned by 'getSuggestions(...)' are incompatible between these types. Type 'Promise' is not assignable to type 'Suggestions | Promise'. Type 'Promise' is not assignable to type 'Promise'. Type '{}' is missing the following properties from type 'AnySuggestion[]': length, pop, push, concat, and 26 more. lib/store/index.ts(86,5): error TS4104: The type 'readonly PropertyKey[]' is 'readonly' and cannot be assigned to the mutable type 'string[]'. lib/store/index.ts(196,55): error TS2339: Property 'set' does not exist on type 'Kernel | KernelMap'. Property 'set' does not exist on type 'Kernel'. lib/store/index.ts(333,8): error TS2339: Property 'hydrogen_store' does not exist on type 'Window & typeof globalThis'. lib/store/markers.ts(24,36): error TS2339: Property 'id' does not exist on type 'DisplayMarker'. lib/utils.tsx(56,27): error TS2339: Property 'show' does not exist on type 'Dock | WorkspaceCenter'. Property 'show' does not exist on type 'WorkspaceCenter'. lib/utils.tsx(70,30): error TS2339: Property 'show' does not exist on type 'Dock | WorkspaceCenter'. Property 'show' does not exist on type 'WorkspaceCenter'. lib/utils.tsx(220,19): error TS2339: Property 'languageMode' does not exist on type 'TextEditor'. lib/utils.tsx(223,26): error TS2339: Property 'tokenizedBuffer' does not exist on type 'TextEditor'. lib/ws-kernel-picker.ts(316,56): error TS2339: Property 'path' does not exist on type 'string | number | true | JSONObject | JSONArray'. Property 'path' does not exist on type 'string'. lib/ws-kernel-picker.ts(317,44): error TS2339: Property 'path' does not exist on type 'string | number | true | JSONObject | JSONArray'. Property 'path' does not exist on type 'string'. lib/ws-kernel-picker.ts(332,11): error TS2345: Argument of type '{ name: string; model: null; options: ServerConnection.ISettings; kernelSpecs: Kernel.ISpecModel[]; }' is not assignable to parameter of type '{ name: any; model: Session.IModel; options: ServerConnection.ISettings; }'. Object literal may only specify known properties, and 'kernelSpecs' does not exist in type '{ name: any; model: IModel; options: ISettings; }'. lib/ws-kernel.ts(34,61): error TS2339: Property 'shutdown' does not exist on type 'IKernelConnection'. done npm WARN eslint-config-airbnb@18.2.1 requires a peer of eslint-plugin-react-hooks@^4 || ^3 || ^2.3.0 || ^1.7.0 but none is installed. You must install peer dependencies yourself. added 815 packages from 905 contributors and audited 823 packages in 87.38s 124 packages are looking for funding run `npm fund` for details found 11 vulnerabilities (3 low, 4 moderate, 4 high) run `npm audit fix` to fix them, or `npm audit` for details ✓ $ npm run build > Hydrogen@2.15.3 build /home/nriesco/.atom/packages/hydrogen > npm run clean && tsc -p lib/tsconfig.json || echo done > Hydrogen@2.15.3 clean /home/nriesco/.atom/packages/hydrogen > shx rm -rf dist lib/code-manager.ts:111:29 - error TS2339: Property 'getScopeChain' does not exist on type 'ScopeDescriptor'. 111 const scopeString = scope.getScopeChain(); ~~~~~~~~~~~~~ lib/code-manager.ts:186:14 - error TS2339: Property 'tokenizedBuffer' does not exist on type 'TextEditor'. 186 } = editor.tokenizedBuffer.commentStringsForPosition( ~~~~~~~~~~~~~~~ lib/code-manager.ts:339:39 - error TS2339: Property 'getHeight' does not exist on type 'TextEditorElement'. 339 const editorHeight = editor.element.getHeight(); ~~~~~~~~~ lib/components/kernel-monitor.tsx:231:15 - error TS2339: Property 'displayName' does not exist on type '({ store }: { store: Store; }) => Element'. 231 KernelMonitor.displayName = "KernelMonitor"; ~~~~~~~~~~~ lib/components/result-view/display.tsx:28:6 - error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. 28 ~~~~~ node_modules/@nteract/transform-vega/lib/index.d.ts:6:5 6 data: string; ~~~~ 'data' is declared here. lib/components/result-view/display.tsx:29:6 - error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. 29 ~~~~~ node_modules/@nteract/transform-vega/lib/index.d.ts:6:5 6 data: string; ~~~~ 'data' is declared here. lib/components/result-view/display.tsx:30:6 - error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. 30 ~~~~~ node_modules/@nteract/transform-vega/lib/index.d.ts:6:5 6 data: string; ~~~~ 'data' is declared here. lib/components/result-view/display.tsx:31:6 - error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. 31 ~~~~~ node_modules/@nteract/transform-vega/lib/index.d.ts:6:5 6 data: string; ~~~~ 'data' is declared here. lib/components/result-view/display.tsx:33:6 - error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. 33 ~~~~~~~~~ node_modules/@nteract/transform-vega/lib/index.d.ts:6:5 6 data: string; ~~~~ 'data' is declared here. lib/components/result-view/display.tsx:34:6 - error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. 34 ~~~~~~~~~ node_modules/@nteract/transform-vega/lib/index.d.ts:6:5 6 data: string; ~~~~ 'data' is declared here. lib/components/result-view/display.tsx:35:6 - error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. 35 ~~~~~~~~~ node_modules/@nteract/transform-vega/lib/index.d.ts:6:5 6 data: string; ~~~~ 'data' is declared here. lib/components/result-view/display.tsx:36:6 - error TS2741: Property 'data' is missing in type '{}' but required in type 'Pick'. 36 ~~~~~~~~~ node_modules/@nteract/transform-vega/lib/index.d.ts:6:5 6 data: string; ~~~~ 'data' is declared here. lib/components/result-view/display.tsx:69:24 - error TS2322: Type '{ children: Element; expanded: true; }' is not assignable to type 'IntrinsicAttributes & Pick, "children"> & Partial, "output" | "output_type">> & Partial<...>'. Property 'expanded' does not exist on type 'IntrinsicAttributes & Pick, "children"> & Partial, "output" | "output_type">> & Partial<...>'. 69 {supportedMediaTypes} ~~~~~~~~ lib/components/result-view/display.tsx:70:22 - error TS2322: Type '{ children: Element; expanded: true; }' is not assignable to type 'IntrinsicAttributes & Pick & Partial> & Partial>'. Property 'expanded' does not exist on type 'IntrinsicAttributes & Pick & Partial> & Partial>'. 70 {supportedMediaTypes} ~~~~~~~~ lib/components/result-view/display.tsx:71:21 - error TS2769: No overload matches this call. Overload 1 of 2, '(props: Props | Readonly): StreamText', gave the following error. Type '{ expanded: true; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes & Pick & Readonly<{ children?: ReactNode; }>, "children"> & Partial<...> & Partial<...>'. Property 'expanded' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes & Pick & Readonly<{ children?: ReactNode; }>, "children"> & Partial<...> & Partial<...>'. Overload 2 of 2, '(props: Props, context: any): StreamText', gave the following error. Type '{ expanded: true; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes & Pick & Readonly<{ children?: ReactNode; }>, "children"> & Partial<...> & Partial<...>'. Property 'expanded' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes & Pick & Readonly<{ children?: ReactNode; }>, "children"> & Partial<...> & Partial<...>'. 71 ~~~~~~~~ lib/components/result-view/display.tsx:72:28 - error TS2769: No overload matches this call. Overload 1 of 2, '(props: Omit, never> & Partial, never>>, "theme"> & { theme?: any; } & { as?: never; forwardedAs?: never; }): ReactElement<...>', gave the following error. Type '{ expanded: true; }' is not assignable to type 'IntrinsicAttributes & Omit, never> & Partial, never>>, "theme"> & { ...; } & { ...; }'. Property 'expanded' does not exist on type 'IntrinsicAttributes & Omit, never> & Partial, never>>, "theme"> & { ...; } & { ...; }'. Overload 2 of 2, '(props: StyledComponentPropsWithAs<(props: Partial) => Element, any, {}, never, (props: Partial) => Element>): ReactElement<...>', gave the following error. Type '{ expanded: true; }' is not assignable to type 'IntrinsicAttributes & Omit, never> & Partial, never>>, "theme"> & { ...; } & { ...; }'. Property 'expanded' does not exist on type 'IntrinsicAttributes & Omit, never> & Partial, never>>, "theme"> & { ...; } & { ...; }'. 72 ~~~~~~~~ lib/components/result-view/index.tsx:41:65 - error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'PointLike'. Type 'number[]' is missing the following properties from type 'PointLike': row, column 41 lineLength: editor.element.pixelPositionForBufferPosition([row, Infinity]) ~~~~~~~~~~~~~~~ lib/components/result-view/index.tsx:44:35 - error TS2339: Property 'getWidth' does not exist on type 'TextEditorElement'. 44 editorWidth: editor.element.getWidth(), ~~~~~~~~ lib/components/result-view/index.tsx:45:7 - error TS2345: Argument of type '{ lineLength: number; lineHeight: number; editorWidth: any; charWidth: any; }' is not assignable to parameter of type '{ lineHeight?: number; lineLength?: number; editorWidth?: number; }'. Object literal may only specify known properties, and 'charWidth' does not exist in type '{ lineHeight?: number; lineLength?: number; editorWidth?: number; }'. 45 charWidth: editor.getDefaultCharWidth(), ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/components/result-view/index.tsx:45:25 - error TS2339: Property 'getDefaultCharWidth' does not exist on type 'TextEditor'. 45 charWidth: editor.getDefaultCharWidth(), ~~~~~~~~~~~~~~~~~~~ lib/components/result-view/index.tsx:54:40 - error TS2339: Property 'id' does not exist on type 'DisplayMarker'. 54 markerStore.delete(this.marker.id); ~~ lib/components/result-view/index.tsx:61:39 - error TS2339: Property 'getWidth' does not exist on type 'TextEditorElement'. 61 editorWidth: editor.element.getWidth(), ~~~~~~~~ lib/components/result-view/index.tsx:62:11 - error TS2345: Argument of type '{ lineLength: number; lineHeight: number; editorWidth: any; charWidth: any; }' is not assignable to parameter of type '{ lineHeight?: number; lineLength?: number; editorWidth?: number; }'. Object literal may only specify known properties, and 'charWidth' does not exist in type '{ lineHeight?: number; lineLength?: number; editorWidth?: number; }'. 62 charWidth: editor.getDefaultCharWidth(), ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/components/result-view/index.tsx:62:29 - error TS2339: Property 'getDefaultCharWidth' does not exist on type 'TextEditor'. 62 charWidth: editor.getDefaultCharWidth(), ~~~~~~~~~~~~~~~~~~~ lib/components/result-view/plotly.tsx:60:67 - error TS2554: Expected 3 arguments, but got 4. 60 this.Plotly.newPlot(this.plotDiv, figure.data, figure.layout, { ~ 61 modeBarButtonsToRemove: ["toImage"], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... 68 ], ~~~~~~~~ 69 }); ~~~~~ lib/components/result-view/plotly.tsx:65:29 - error TS2339: Property 'Icons' does not exist on type '{ newPlot: (div: void | HTMLDivElement, data: Record, layout: FigureLayout) => void; redraw: (div?: PlotlyHTMLElement) => void; toImage: (gd: any) => Promise<...>; }'. 65 icon: this.Plotly.Icons.camera, ~~~~~ lib/components/result-view/plotly.tsx:102:7 - error TS2739: Type 'Record' is missing the following properties from type 'Figure': data, layout 102 return cloneDeep(figure); ~~~~~~~~~~~~~~~~~~~~~~~~~ lib/export-notebook.ts:31:25 - error TS2559: Type '(filename: any) => void' has no properties in common with type 'SaveDialogOptions'. 31 dialog.showSaveDialog(saveNotebook); ~~~~~~~~~~~~ lib/import-notebook.ts:12:37 - error TS2305: Module '"@nteract/commutable"' has no exported member 'Cell'. 12 import type { Notebook, JSONObject, Cell } from "@nteract/commutable"; ~~~~ lib/import-notebook.ts:174:23 - error TS2339: Property 'toJS' does not exist on type 'object | JSONObject'. Property 'toJS' does not exist on type 'object'. 174 } = typeof metaData.toJS === "function" ? metaData.toJS() : metaData; // TODO fix toJS ~~~~ lib/import-notebook.ts:174:54 - error TS2339: Property 'toJS' does not exist on type 'object | JSONObject'. Property 'toJS' does not exist on type 'object'. 174 } = typeof metaData.toJS === "function" ? metaData.toJS() : metaData; // TODO fix toJS ~~~~ lib/import-notebook.ts:269:31 - error TS2339: Property 'fileTypes' does not exist on type 'Grammar'. 269 return _.includes(grammar.fileTypes, ext); ~~~~~~~~~ lib/main.ts:88:5 - error TS2769: No overload matches this call. Overload 1 of 4, '(target: "atom-text-editor:not([mini])", commands: { [key: string]: CommandRegistryListener; }): CompositeDisposable', gave the following error. Type '() => Promise' is not assignable to type 'CommandRegistryListener'. Type '() => Promise' is not assignable to type '(event: CommandEvent) => void | Promise'. Type 'Promise' is not assignable to type 'void | Promise'. Type 'Promise' is not assignable to type 'Promise'. Type 'KernelspecMetadata[]' is not assignable to type 'void'. Overload 2 of 4, '(target: Node, commands: { [key: string]: CommandRegistryListener; }): CompositeDisposable', gave the following error. Argument of type 'string' is not assignable to parameter of type 'Node'. 88 atom.commands.add("atom-text-editor:not([mini])", { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 89 "hydrogen:run": () => run(), ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... 147 "hydrogen:clear-results": () => result.clearResults(store), ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 148 }) ~~~~~~ node_modules/@types/atom/src/command-registry.d.ts:34:13 34 [key: string]: CommandRegistryListener; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The expected type comes from this index signature. lib/main.ts:120:54 - error TS2554: Expected 1 arguments, but got 0. 120 "hydrogen:update-kernels": () => kernelManager.updateKernelSpecs(), ~~~~~~~~~~~~~~~~~~~ lib/kernel-manager.ts:140:27 140 async updateKernelSpecs(grammar: Grammar | null | undefined) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ An argument for 'grammar' was not provided. lib/main.ts:124:11 - error TS2345: Argument of type '{ command: string; }' is not assignable to parameter of type '{ command: string; payload: KernelspecMetadata; }'. Property 'payload' is missing in type '{ command: string; }' but required in type '{ command: string; payload: KernelspecMetadata; }'. 124 { ~ 125 command: "interrupt-kernel", ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 }, ~~~~~~~~~~~ lib/main.ts:287:5 287 payload: KernelspecMetadata | null | undefined; ~~~~~~~ 'payload' is declared here. lib/main.ts:131:11 - error TS2345: Argument of type '{ command: string; }' is not assignable to parameter of type '{ command: string; payload: KernelspecMetadata; }'. Property 'payload' is missing in type '{ command: string; }' but required in type '{ command: string; payload: KernelspecMetadata; }'. 131 { ~ 132 command: "restart-kernel", ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 133 }, ~~~~~~~~~~~ lib/main.ts:287:5 287 payload: KernelspecMetadata | null | undefined; ~~~~~~~ 'payload' is declared here. lib/main.ts:138:11 - error TS2345: Argument of type '{ command: string; }' is not assignable to parameter of type '{ command: string; payload: KernelspecMetadata; }'. Property 'payload' is missing in type '{ command: string; }' but required in type '{ command: string; payload: KernelspecMetadata; }'. 138 { ~ 139 command: "shutdown-kernel", ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 }, ~~~~~~~~~~~ lib/main.ts:287:5 287 payload: KernelspecMetadata | null | undefined; ~~~~~~~ 'payload' is declared here. lib/main.ts:217:52 - error TS2345: Argument of type '(uri: string) => Promise' is not assignable to parameter of type '(uri: string, options?: WorkspaceOpenOptions) => ViewModel'. Property 'getTitle' is missing in type 'Promise' but required in type 'ViewModel'. 217 store.subscriptions.add(atom.workspace.addOpener(ipynbOpener)); ~~~~~~~~~~~ node_modules/@types/atom/src/view-registry.d.ts:31:5 31 getTitle: () => string; ~~~~~~~~ 'getTitle' is declared here. lib/main.ts:308:12 - error TS2554: Expected 1 arguments, but got 0. 308 kernel.restart(); ~~~~~~~~~ lib/kernel.ts:308:11 308 restart(onRestarted: ((...args: Array) => any) | null | undefined) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ An argument for 'onRestarted' was not provided. lib/main.ts:575:25 - error TS2345: Argument of type '(kernelSpec: KernelspecMetadata) => boolean' is not assignable to parameter of type '(kernelSpec: ISpecModel) => boolean'. Types of parameters 'kernelSpec' and 'kernelSpec' are incompatible. Type 'ISpecModel' is not assignable to type 'KernelspecMetadata'. Types of property 'env' are incompatible. Type 'JSONObject' is not assignable to type '{ [variable: string]: string; }'. Index signatures are incompatible. Type 'JSONValue' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. 575 wsKernelPicker.toggle((kernelSpec: KernelspecMetadata) => ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 576 kernelSpecProvidesGrammar(kernelSpec, store.grammar) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/plugin-api/hydrogen-kernel.ts:79:51 - error TS2339: Property 'connectionFile' does not exist on type 'KernelTransport'. 79 const connectionFile = this._kernel.transport.connectionFile ~~~~~~~~~~~~~~ lib/plugin-api/hydrogen-kernel.ts:80:32 - error TS2339: Property 'connectionFile' does not exist on type 'KernelTransport'. 80 ? this._kernel.transport.connectionFile ~~~~~~~~~~~~~~ lib/services/provided/autocomplete.ts:187:3 - error TS2322: Type '{ enabled: any; selector: string; disableForSelector: string; inclusionPriority: number; suggestionPriority: any; excludeLowerPriority: boolean; suggestionDetailsEnabled: any; getSuggestions({ editor, bufferPosition, prefix }: { ...; }): Promise<...>; getSuggestionDetailsOnSelect({ text, replacementPrefix, replacedT...' is not assignable to type 'AutocompleteProvider'. The types returned by 'getSuggestions(...)' are incompatible between these types. Type 'Promise' is not assignable to type 'Suggestions | Promise'. Type 'Promise' is not assignable to type 'Promise'. Type '{}' is missing the following properties from type 'AnySuggestion[]': length, pop, push, concat, and 26 more. 187 return autocompleteProvider; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/store/index.ts:86:5 - error TS4104: The type 'readonly PropertyKey[]' is 'readonly' and cannot be assigned to the mutable type 'string[]'. 86 return keys(this.kernelMapping); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/store/index.ts:196:55 - error TS2339: Property 'set' does not exist on type 'Kernel | KernelMap'. Property 'set' does not exist on type 'Kernel'. 196 if (multiLanguageMap && typeof multiLanguageMap.set === "function") { ~~~ lib/store/index.ts:333:8 - error TS2339: Property 'hydrogen_store' does not exist on type 'Window & typeof globalThis'. 333 window.hydrogen_store = store; ~~~~~~~~~~~~~~ lib/store/markers.ts:24:36 - error TS2339: Property 'id' does not exist on type 'DisplayMarker'. 24 this.markers.set(bubble.marker.id, bubble); ~~ lib/utils.tsx:56:27 - error TS2339: Property 'show' does not exist on type 'Dock | WorkspaceCenter'. Property 'show' does not exist on type 'WorkspaceCenter'. 56 if (dock && typeof dock.show === "function") { ~~~~ lib/utils.tsx:70:30 - error TS2339: Property 'show' does not exist on type 'Dock | WorkspaceCenter'. Property 'show' does not exist on type 'WorkspaceCenter'. 70 return dock && typeof dock.show === "function" ? (dock as Dock).show() : null; ~~~~ lib/utils.tsx:220:19 - error TS2339: Property 'languageMode' does not exist on type 'TextEditor'. 220 return editor.languageMode.rowRangeForCodeFoldAtBufferRow(row); ~~~~~~~~~~~~ lib/utils.tsx:223:26 - error TS2339: Property 'tokenizedBuffer' does not exist on type 'TextEditor'. 223 const range = editor.tokenizedBuffer.getFoldableRangeContainingPoint( ~~~~~~~~~~~~~~~ lib/ws-kernel-picker.ts:316:56 - error TS2339: Property 'path' does not exist on type 'string | number | true | JSONObject | JSONArray'. Property 'path' does not exist on type 'string'. 316 } else if (model.notebook && model.notebook?.path) { ~~~~ lib/ws-kernel-picker.ts:317:44 - error TS2339: Property 'path' does not exist on type 'string | number | true | JSONObject | JSONArray'. Property 'path' does not exist on type 'string'. 317 name = tildify(model.notebook?.path); // TODO fix the types ~~~~ lib/ws-kernel-picker.ts:332:11 - error TS2345: Argument of type '{ name: string; model: null; options: ServerConnection.ISettings; kernelSpecs: Kernel.ISpecModel[]; }' is not assignable to parameter of type '{ name: any; model: Session.IModel; options: ServerConnection.ISettings; }'. Object literal may only specify known properties, and 'kernelSpecs' does not exist in type '{ name: any; model: IModel; options: ISettings; }'. 332 kernelSpecs, ~~~~~~~~~~~ lib/ws-kernel.ts:34:61 - error TS2339: Property 'shutdown' does not exist on type 'IKernelConnection'. 34 await (this.session?.shutdown() ?? this.session.kernel?.shutdown()); ~~~~~~~~ Found 55 errors. done $ npm run test > Hydrogen@2.15.3 test /home/nriesco/.atom/packages/hydrogen > echo 'test without rebuilding' && atom --test spec test without rebuilding The setuid sandbox is not running as root. Common causes: * An unprivileged process using ptrace on it, like a debugger. * A parent process set prctl(PR_SET_NO_NEW_PRIVS, ...) Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted /usr/bin/atom: line 192: 103825 Trace/breakpoint trap (core dumped) "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" npm ERR! code ELIFECYCLE npm ERR! errno 133 npm ERR! Hydrogen@2.15.3 test: `echo 'test without rebuilding' && atom --test spec` npm ERR! Exit status 133 npm ERR! npm ERR! Failed at the Hydrogen@2.15.3 test script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/nriesco/.npm/_logs/2021-04-18T15_18_50_527Z-debug.log $ ```

n-riesco commented 3 years ago

I've run the specs from Atom, and they all pass:

Screenshot from 2021-04-18 16-38-25

aminya commented 3 years ago

So, I think the only remaining issue is that the user should install libstdc++6 manually if they get the error related to the version. I am going to see if it is possible to build zeromq.node statically with no need for any external dependencies.

wjandrea commented 3 years ago

Hydrogen is now up-to-date for me. Thanks!

julibeg commented 2 years ago

This looks like it has been resolved, but I get a similar error related to zeromq when trying to install Hydrogen on Manjaro (Linux 5.13.19-2-MANJARO and x86-64 architecture).

After re-installing zeromq with sudo pacman -S zeromq I ran

$ npm_config_zmq_external=true apm install hydrogen

which gave

Installing hydrogen to /home/julsy/.atom/packages ✗

> @aminya/zeromq@5.2.16 install /tmp/apm-install-dir-20211115-89062-1taj1mg.0feo/node_modules/Hydrogen/node_modules/@aminya/zeromq
> node-gyp-build || npm run build:libzmq

> @aminya/zeromq@5.2.16 build:libzmq
> node-gyp rebuild

npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated json-parser@1.1.5: `json-parser` is deprecated. Please use `comment-json` instead
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
(node:89106) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node --trace-deprecation ...` to show where the warning was created)
gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/lib/node_modules/atom-package-manager/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Linux 5.13.19-2-MANJARO
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/atom-package-manager/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-20211115-89062-1taj1mg.0feo/node_modules/Hydrogen/node_modules/@aminya/zeromq
gyp ERR! node -v v17.1.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/lib/node_modules/node-gyp/lib/configure.js:353:16)
gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Linux 5.13.19-2-MANJARO
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-20211115-89062-1taj1mg.0feo/node_modules/Hydrogen/node_modules/@aminya/zeromq
gyp ERR! node -v v17.1.0
gyp ERR! node-gyp -v v8.2.0
gyp ERR! not ok 
npm WARN enoent ENOENT: no such file or directory, open '/tmp/apm-install-dir-20211115-89062-1taj1mg.0feo/package.json'
npm WARN mobx-react@6.3.1 requires a peer of react@^16.8.0 || 16.9.0-alpha.0 but none is installed. You must install peer dependencies yourself.
npm WARN @nteract/markdown@4.6.2 requires a peer of react@^16.11.0 but none is installed. You must install peer dependencies yourself.
npm WARN @nteract/markdown@4.6.2 requires a peer of react-dom@^16.3.2 but none is installed. You must install peer dependencies yourself.
npm WARN @nteract/transform-vega@7.0.10 requires a peer of react@^16.3.2 but none is installed. You must install peer dependencies yourself.
npm WARN @nteract/outputs@3.0.11 requires a peer of react@^16.3.2 but none is installed. You must install peer dependencies yourself.
npm WARN react-table@6.11.5 requires a peer of react@^16.x.x but none is installed. You must install peer dependencies yourself.
npm WARN react-table@6.11.5 requires a peer of react-dom@^16.x.x but none is installed. You must install peer dependencies yourself.
npm WARN react-markdown@4.3.1 requires a peer of react@^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @nteract/presentational-components@3.4.12 requires a peer of react@^16.3.2 but none is installed. You must install peer dependencies yourself.
npm WARN react-json-tree@0.12.1 requires a peer of react@^16.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN react-json-tree@0.12.1 requires a peer of react-dom@^16.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN mobx-react-lite@2.2.2 requires a peer of react@^16.8.0 but none is installed. You must install peer dependencies yourself.
npm WARN apm-install-dir-20211115-89062-1taj1mg.0feo No description
npm WARN apm-install-dir-20211115-89062-1taj1mg.0feo No repository field.
npm WARN apm-install-dir-20211115-89062-1taj1mg.0feo No README data
npm WARN apm-install-dir-20211115-89062-1taj1mg.0feo No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @aminya/zeromq@5.2.16 install: `node-gyp-build || npm run build:libzmq`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @aminya/zeromq@5.2.16 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/julsy/.atom/.apm/_logs/2021-12-15T08_32_41_497Z-debug.log


The complete log is here: hydrogen-error.log

atom --version returns

Atom    : 1.58.0
Electron: 9.4.4
Chrome  : 83.0.4103.122
Node    : 12.14.1

and apm --version

apm  2.6.4
npm  6.14.9
node 17.1.0 x64
atom 1.58.0
python 3.9.7
git 2.34.1

I'm not really a JS aficionado. Any idea on how I can fix this?