n-riesco / ijavascript

IJavascript is a javascript kernel for the Jupyter notebook
Other
2.18k stars 187 forks source link

Error running in VSCode: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.16.1 #243

Open azhogova opened 3 years ago

azhogova commented 3 years ago

Doesn't work inside the vscode notebook:

Error 2021-06-29 23:12:42: Failed to execute cells in CellExecutionQueue i [Error]: 
    at new o (/Users/anastasia/.vscode/extensions/ms-toolsai.jupyter-2021.5.745244803/out/client/extension.js:16:22177)
    at new i (/Users/anastasia/.vscode/extensions/ms-toolsai.jupyter-2021.5.745244803/out/client/extension.js:16:81525)
    at _.launch (/Users/anastasia/.vscode/extensions/ms-toolsai.jupyter-2021.5.745244803/out/client/extension.js:47:769483)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Error: Kernel process Exited
    at ChildProcess.<anonymous> (/Users/anastasia/.vscode/extensions/ms-toolsai.jupyter-2021.5.745244803/out/client/extension.js:47:768054)
    at ChildProcess.emit (events.js:327:22)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) {
  category: 'kerneldied',
  originalException: o [Error]: Kernel process Exited
      at ChildProcess.<anonymous> (/Users/anastasia/.vscode/extensions/ms-toolsai.jupyter-2021.5.745244803/out/client/extension.js:47:768054)
      at ChildProcess.emit (events.js:327:22)
      at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) {
    category: 'kerneldied',
    exitCode: 1
  },
  stdErr: '/usr/local/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59\n' +
    "  throw new Error('No native build was found for ' + target + '\\n    loaded from: ' + dir + '\\n')\n" +
    '  ^\n' +
    '\n' +
    'Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.16.1\n' +
    '    loaded from: /usr/local/lib/node_modules/ijavascript/node_modules/zeromq\n' +
    '\n' +
    '    at Function.load.path (/usr/local/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9)\n' +
    '    at load (/usr/local/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30)\n' +
    '    at Object.<anonymous> (/usr/local/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43)\n' +
    '    at Module._compile (internal/modules/cjs/loader.js:1063:30)\n' +
    '    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n' +
    '    at Module.load (internal/modules/cjs/loader.js:928:32)\n' +
    '    at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n' +
    '    at Module.require (internal/modules/cjs/loader.js:952:19)\n' +
    '    at require (internal/modules/cjs/helpers.js:88:18)\n' +
    '    at Object.<anonymous> (/usr/local/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)\n' +
    '\n' +
    '/usr/local/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59\n' +
    "  throw new Error('No native build was found for ' + target + '\\n    loaded from: ' + dir + '\\n')\n" +
    '  ^\n' +
    '\n' +
    'Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.16.1\n' +
    '    loaded from: /usr/local/lib/node_modules/ijavascript/node_modules/zeromq\n' +
    '\n' +
    '    at Function.load.path (/usr/local/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9)\n' +
    '    at load (/usr/local/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30)\n' +
    '    at Object.<anonymous> (/usr/local/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43)\n' +
    '    at Module._compile (internal/modules/cjs/loader.js:1063:30)\n' +
    '    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n' +
    '    at Module.load (internal/modules/cjs/loader.js:928:32)\n' +
    '    at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n' +
    '    at Module.require (internal/modules/cjs/loader.js:952:19)\n' +
    '    at require (internal/modules/cjs/helpers.js:88:18)\n' +
    '    at Object.<anonymous> (/usr/local/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)\n' +
    '\n'
}
n-riesco commented 3 years ago

I'd try to install the IJavscript kernelspec using full paths, like this: ijsinstall --spec-path=full

phoenixeliot commented 3 years ago

I'm having the exact same issue. This is the first time I've tried to set up and use IJavascript, and Jupyter in general. Jupyter is working fine with a python 3.9 kernel and python code, in VS Code.

I tried using the above command ijsinstall --spec-path=full but saw no change in behavior. It's unclear if the command did anything — is there a way I can check what it changed?

For debugging this I also tried opening up the zeromq folder at /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq and running the command its README suggested for rebuilding it for the version of electron that VS Code uses: npm rebuild zeromq --runtime=electron --target=12.0.7, but this didn't do anything noticeable (I'm not sure if it had any effect at all).

I'm running macOS 11.4, using an apple m1 chip. This might be related; not sure. The errors all say they're trying to use the x64 build, which should work fine with rosetta 2, but it's possible somewhere the wires are getting crossed for what it considers a 'native' build?

Error log ```Info 2021-07-07 11:08:21: Execute Cells request 1 0 Info 2021-07-07 11:08:21: Execute Cell 0 file:///private/tmp/Untitled-1.ipynb Info 2021-07-07 11:08:21: Starting Notebook in kernel.ts id = .javascript.ijskernel. Info 2021-07-07 11:08:21: Cell Index:0, state:1, exec: undefined. User queued cell for execution Info 2021-07-07 11:08:21: Creating raw notebook for file:///private/tmp/Untitled-1.ipynb Info 2021-07-07 11:08:21: Getting preferred kernel for file:///private/tmp/Untitled-1.ipynb Info 2021-07-07 11:08:21: Computing working directory file:///private/tmp/Untitled-1.ipynb Info 2021-07-07 11:08:21: Connecting to raw session for file:///private/tmp/Untitled-1.ipynb with connection {"kind":"startUsingKernelSpec","kernelSpec":{"specFile":"/Users/phoenix/Library/Jupyter/kernels/javascript/kernel.json","name":"javascript","argv":["ijskernel","--hide-undefined","{connection_file}","--protocol=5.1"],"language":"javascript","path":"ijskernel","display_name":"Javascript (Node.js)"},"id":".javascript.ijskernel."} Info 2021-07-07 11:08:21: Starting raw kernel Javascript (Node.js) Info 2021-07-07 11:08:21: Kernel launching with ports 9050,9051,9052,9053,9054. Start port is 9000 Info 2021-07-07 11:08:21: Launching Raw Kernel & not daemon Javascript (Node.js) # ijskernel Info 2021-07-07 11:08:21: Cached data exists getEnvironmentVariables, /private/tmp/Untitled-1.ipynb Info 2021-07-07 11:08:21: No custom variables for Kernel as interpreter path is not defined for kernel Javascript (Node.js) Info 2021-07-07 11:08:21: Process Execution: > ijskernel --hide-undefined /var/folders/67/1mgw7n3x5tb_0gybrwjnw26m0000gn/T/tmp-19023U483OWOoJIFQ.json --protocol=5.1 > ijskernel --hide-undefined /var/folders/67/1mgw7n3x5tb_0gybrwjnw26m0000gn/T/tmp-19023U483OWOoJIFQ.json --protocol=5.1 Info 2021-07-07 11:08:21: Process Execution: cwd: /private/tmp cwd: /private/tmp Info 2021-07-07 11:08:21: Launching kernel in kernelProcess.ts, Class name = b, completed in 4ms, has a truthy return value, Arg 1: "/private/tmp", Return Value: {"proc":{"_events":{},"_eventsCount":0,"_closesNeeded":3,"_closesGot":0,"connected":false,"signalCode":null,"exitCode":null,"killed":false,"spawnfile":"ijskernel","_handle":{"pid":32111},"spawnargs":["ijskernel","--hide-undefined","/var/folders/67/1mgw7n3x5tb_0gybrwjnw26m0000gn/T/tmp-19023U483OWOoJIFQ.json","--protocol=5.1"],"pid":32111,"stdin":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":1,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdout":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stderr":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdio":[{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":1,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null}]},"out":{"_isScalar":false}} Info 2021-07-07 11:08:21: KernelProcess error: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59 throw new Error('No native build was found for ' + target + '\n loaded from: ' + dir + '\n') ^ Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1 loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9) at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30) at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:14) at Module.require (internal/modules/cjs/loader.js:974:19) at require (internal/modules/cjs/helpers.js:92:18) at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11) Warn 2021-07-07 11:08:21: StdErr from Kernel Process /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59 throw new Error('No native build was found for ' + target + '\n loaded from: ' + dir + '\n') ^ Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1 loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9) at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30) at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:14) at Module.require (internal/modules/cjs/loader.js:974:19) at require (internal/modules/cjs/helpers.js:92:18) at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11) Info 2021-07-07 11:08:21: KernelProcess Exit Exit - 1 /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59 throw new Error('No native build was found for ' + target + '\n loaded from: ' + dir + '\n') ^ Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1 loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9) at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30) at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:14) at Module.require (internal/modules/cjs/loader.js:974:19) at require (internal/modules/cjs/helpers.js:92:18) at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11) Error 2021-07-07 11:08:21: Disposing kernel process due to an error o [Error]: Kernel process Exited at ChildProcess. (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:766949) at ChildProcess.emit (events.js:327:22) at ChildProcess.EventEmitter.emit (domain.js:467:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { category: 'kerneldied', exitCode: 1 } Info 2021-07-07 11:08:21: Dispose Kernel process Error 2021-07-07 11:08:21: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59 throw new Error('No native build was found for ' + target + '\n loaded from: ' + dir + '\n') ^ Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1 loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9) at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30) at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:14) at Module.require (internal/modules/cjs/loader.js:974:19) at require (internal/modules/cjs/helpers.js:92:18) at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11) Error 2021-07-07 11:08:21: Failed to connect raw kernel session: Error: The kernel died. View Jupyter [log](command:jupyter.viewOutput) for further details. Error: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/... Info 2021-07-07 11:08:21: Shutdown session -- complete Error 2021-07-07 11:08:21: failed to create INotebook in kernel, UI Disabled = false i [Error]: at new o (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:16:21636) at new i (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:16:85650) at b.launch (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:768378) at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:93:5) Error: Kernel process Exited at ChildProcess. (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:766949) at ChildProcess.emit (events.js:327:22) at ChildProcess.EventEmitter.emit (domain.js:467:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { category: 'kerneldied', originalException: o [Error]: Kernel process Exited at ChildProcess. (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:766949) at ChildProcess.emit (events.js:327:22) at ChildProcess.EventEmitter.emit (domain.js:467:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { category: 'kerneldied', exitCode: 1, vslsStack: [ CallSite {}, CallSite {}, CallSite {}, CallSite {} ] }, stdErr: '/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59\n' + " throw new Error('No native build was found for ' + target + '\\n loaded from: ' + dir + '\\n')\n" + ' ^\n' + '\n' + 'Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1\n' + ' loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq\n' + '\n' + ' at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9)\n' + ' at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43)\n' + ' at Module._compile (internal/modules/cjs/loader.js:1085:14)\n' + ' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)\n' + ' at Module.load (internal/modules/cjs/loader.js:950:32)\n' + ' at Function.Module._load (internal/modules/cjs/loader.js:790:14)\n' + ' at Module.require (internal/modules/cjs/loader.js:974:19)\n' + ' at require (internal/modules/cjs/helpers.js:92:18)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)\n' + '\n' + '/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59\n' + " throw new Error('No native build was found for ' + target + '\\n loaded from: ' + dir + '\\n')\n" + ' ^\n' + '\n' + 'Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1\n' + ' loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq\n' + '\n' + ' at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9)\n' + ' at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43)\n' + ' at Module._compile (internal/modules/cjs/loader.js:1085:14)\n' + ' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)\n' + ' at Module.load (internal/modules/cjs/loader.js:950:32)\n' + ' at Function.Module._load (internal/modules/cjs/loader.js:790:14)\n' + ' at Module.require (internal/modules/cjs/loader.js:974:19)\n' + ' at require (internal/modules/cjs/helpers.js:92:18)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)\n' + '\n' } Error 2021-07-07 11:08:21: DataScience Error o [Error]: Kernel process Exited at ChildProcess. (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:766949) at ChildProcess.emit (events.js:327:22) at ChildProcess.EventEmitter.emit (domain.js:467:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { category: 'kerneldied', exitCode: 1, vslsStack: [ CallSite {}, CallSite {}, CallSite {}, CallSite {} ] } Error 2021-07-07 11:08:21: failed to start INotebook in kernel, UI Disabled = false i [Error]: at new o (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:16:21636) at new i (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:16:85650) at b.launch (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:768378) at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:93:5) Error: Kernel process Exited at ChildProcess. (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:766949) at ChildProcess.emit (events.js:327:22) at ChildProcess.EventEmitter.emit (domain.js:467:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { category: 'kerneldied', originalException: o [Error]: Kernel process Exited at ChildProcess. (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:766949) at ChildProcess.emit (events.js:327:22) at ChildProcess.EventEmitter.emit (domain.js:467:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { category: 'kerneldied', exitCode: 1, vslsStack: [ CallSite {}, CallSite {}, CallSite {}, CallSite {} ] }, stdErr: '/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59\n' + " throw new Error('No native build was found for ' + target + '\\n loaded from: ' + dir + '\\n')\n" + ' ^\n' + '\n' + 'Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1\n' + ' loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq\n' + '\n' + ' at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9)\n' + ' at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43)\n' + ' at Module._compile (internal/modules/cjs/loader.js:1085:14)\n' + ' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)\n' + ' at Module.load (internal/modules/cjs/loader.js:950:32)\n' + ' at Function.Module._load (internal/modules/cjs/loader.js:790:14)\n' + ' at Module.require (internal/modules/cjs/loader.js:974:19)\n' + ' at require (internal/modules/cjs/helpers.js:92:18)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)\n' + '\n' + '/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59\n' + " throw new Error('No native build was found for ' + target + '\\n loaded from: ' + dir + '\\n')\n" + ' ^\n' + '\n' + 'Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1\n' + ' loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq\n' + '\n' + ' at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9)\n' + ' at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43)\n' + ' at Module._compile (internal/modules/cjs/loader.js:1085:14)\n' + ' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)\n' + ' at Module.load (internal/modules/cjs/loader.js:950:32)\n' + ' at Function.Module._load (internal/modules/cjs/loader.js:790:14)\n' + ' at Module.require (internal/modules/cjs/loader.js:974:19)\n' + ' at require (internal/modules/cjs/helpers.js:92:18)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)\n' + '\n' } Error 2021-07-07 11:08:21: Failed to execute cells in CellExecutionQueue i [Error]: at new o (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:16:21636) at new i (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:16:85650) at b.launch (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:768378) at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:93:5) Error: Kernel process Exited at ChildProcess. (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:766949) at ChildProcess.emit (events.js:327:22) at ChildProcess.EventEmitter.emit (domain.js:467:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { category: 'kerneldied', originalException: o [Error]: Kernel process Exited at ChildProcess. (/Users/phoenix/.vscode/extensions/ms-toolsai.jupyter-2021.6.999662501/out/client/extension.js:52:766949) at ChildProcess.emit (events.js:327:22) at ChildProcess.EventEmitter.emit (domain.js:467:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { category: 'kerneldied', exitCode: 1, vslsStack: [ CallSite {}, CallSite {}, CallSite {}, CallSite {} ] }, stdErr: '/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59\n' + " throw new Error('No native build was found for ' + target + '\\n loaded from: ' + dir + '\\n')\n" + ' ^\n' + '\n' + 'Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1\n' + ' loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq\n' + '\n' + ' at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9)\n' + ' at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43)\n' + ' at Module._compile (internal/modules/cjs/loader.js:1085:14)\n' + ' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)\n' + ' at Module.load (internal/modules/cjs/loader.js:950:32)\n' + ' at Function.Module._load (internal/modules/cjs/loader.js:790:14)\n' + ' at Module.require (internal/modules/cjs/loader.js:974:19)\n' + ' at require (internal/modules/cjs/helpers.js:92:18)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)\n' + '\n' + '/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59\n' + " throw new Error('No native build was found for ' + target + '\\n loaded from: ' + dir + '\\n')\n" + ' ^\n' + '\n' + 'Error: No native build was found for platform=darwin arch=x64 runtime=electron abi=83 uv=1 libc=glibc node=14.17.1\n' + ' loaded from: /Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq\n' + '\n' + ' at Function.load.path (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:59:9)\n' + ' at load (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/node-gyp-build/index.js:21:30)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/binding.js:1:43)\n' + ' at Module._compile (internal/modules/cjs/loader.js:1085:14)\n' + ' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)\n' + ' at Module.load (internal/modules/cjs/loader.js:950:32)\n' + ' at Function.Module._load (internal/modules/cjs/loader.js:790:14)\n' + ' at Module.require (internal/modules/cjs/loader.js:974:19)\n' + ' at require (internal/modules/cjs/helpers.js:92:18)\n' + ' at Object. (/Users/phoenix/.nvm/versions/node/v14.17.1/lib/node_modules/ijavascript/node_modules/zeromq/lib/index.js:6:11)\n' + '\n' } Info 2021-07-07 11:08:21: Cancel pending cells Info 2021-07-07 11:08:21: Cell Index:0, state:2, exec: undefined. Execution cancelled Info 2021-07-07 11:08:21: Cell Index:0, state:2, exec: undefined. Completed due to cancellation Info 2021-07-07 11:08:21: Cell Index:0, state:2, exec: undefined. Cell cancelled & resolving Info 2021-07-07 11:08:21: Cell Index:0, state:2, exec: undefined. Execution disposed```
phoenixeliot commented 3 years ago

Looks like zeromq has node.abi83.node but not electron.abi83.node, which is what it was looking for. Seeing if I can find a way to make it build that version...

phoenixeliot commented 3 years ago

Alright, I'm not sure why this worked, since it seems to be bypassing the node-gyp-build/index.js file I was debugging entirely (the one that was throwing the error), but this solved it:

nvm use 14.17.1 # this was the version I started with, including for verbosity
npm uninstall -g ijavascript
nvm install 16.3.0 # the minor version of v16 I happened to already have, included for verbosity. Other v16 versions may work too.
nvm use 16.3.0
npm install -g ijavascript
ijsinstall --spec-path=full

Bafflingly, this works even if I remove the zeromq/prebuilds directory entirely, so I'm not sure what it's using instead with node v16.3, but it apparently doesn't need those electron.abi83.node etc files like node v14 was trying to use.

n-riesco commented 3 years ago

One can run jupyter kernelspec list --json, to see the difference between ijsinstall --spec-path=full and ijsinstall --spec-path=none.

n-riesco commented 3 years ago

zeromq has recently changed they way it builds and distributes binaries. Unfortunately, this means that the binaries fail for distributions such as Debian 10. Anyone affected by these incompatible binaries, please try and force building zeromq from source by running:

$ npm_config_zmq_external=true npm install -g ijavascript
n-riesco commented 3 years ago

@phoenixeliot The paths in the error logs should give us a clue, whether ijsinstall --spec-path=full is working or not.

ijsinstall --spec-path=full should install a kernelspec with a full path to node (no need to install ijavascript in vscode).

phoenixeliot commented 3 years ago

Just to add some debugging data, after switching to node v16, I found that VS Code failed to run the notebook (an ENOENT error, with VS Code forever visually trying to connect to the kernel, different from the original error in this issue) if I use the --spec-path=none option, but works if I use the --spec-path=full option. I may have just recorded my commands wrong when typing my above message; I'll update it to reflect that.

n-riesco commented 3 years ago

That's expected. Every time the node versions is changed, new binaries for zeromq are required.

if --spec-path=full is used, the kernelspec will include the full path to node and ijavascript (e.g. /path/to/node path/to/ijskernel.js). If /path/to/node is different for each node version used in your machine, then --spec-path=full will save you reinstalling ijavascript.

If --spec-path=none is used, then the kernelspec invokes ijskernel using the current version of node. If the version of node changes, the npm uninstall -g ijavascript followed by npm install -g ijavascript is required to pick up the binaries for the current node version.

cowlingj commented 3 years ago

Alright, I'm not sure why this worked, since it seems to be bypassing the node-gyp-build/index.js file I was debugging entirely (the one that was throwing the error), but this solved it:

nvm use 14.17.1 # this was the version I started with, including for verbosity
npm uninstall -g ijavascript
nvm install 16.3.0 # the minor version of v16 I happened to already have, included for verbosity. Other v16 versions may work too.
nvm use 16.3.0
npm install -g ijavascript
ijsinstall --spec-path=full

Bafflingly, this works even if I remove the zeromq/prebuilds directory entirely, so I'm not sure what it's using instead with node v16.3, but it apparently doesn't need those electron.abi83.node etc files like node v14 was trying to use.

I can confirm upgrading node to 16 (in my case v16.6.2) works.

I've also tried npm_config_zmq_external=true npm install -g ijavascript && ijsinstall --spec-path=full as mentioned by @n-riesco but that doesn't seem to work for me.

tagore-cai commented 2 years ago

switch to dependencies /node_modules/zeromq folder then run. npm run build:libzmq rebuild libzmq binaries

kingscolour commented 2 years ago

posting my experience in case it helps anyone else

I have ijs installed into a jupyterlab instance with node=16.12.0 & npm=8.1.0 installed via conda (thus, no nvm). This was my initial error:

Error: No native build was found for platform=linux arch=x64 runtime=node abi=93 uv=1 libc=glibc node=16.12.0

Changing node versions wasn't possible as indicated above. Reinstalling ijs with zmq_external flag à la npm_config_zmq_external=true npm install -g ijavascript && ijsinstall --spec-path=full did not help either.

However,

switch to dependencies /node_modules/zeromq folder then run. npm run build:libzmq rebuild libzmq binaries

did work. But it was a bit tricky because I, apparently, have 3 locations that needed to be rebuilt. I'm really not familiar with npm and I was recklessly throwing commands at shell so it's my own fault.

This is the gist of my resolution:

# uninstall ijs just to be safe
npm uninstall -g ijavascript
# reinstall ijs
npm install -g ijavascript

# rebuild zeromq; first directory
cd ~/lib/node_modules/ijavascript/node_modules/zeromq/
npm run build:libzmq

# second directory (must have tried installing locally at one point)
cd ~/.local/lib/node_modules/ijavascript/node_modules/zeromq/
npm run build:libzmq
ijsinstall --spec-path=full

At this point, 'Error: No native build was found for platform... errors were gone, but my kernel was still mysteriously dying. My jupyterlab logs listed:

[I 2021-12-30 20:08:18.509 ServerApp] Kernel started: 0a485f5f-67d9-49af-b278-7b1caae75dc5
[I 2021-12-30 20:08:21.499 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (1/5), new random ports
[I 2021-12-30 20:08:24.505 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (2/5), new random ports
[I 2021-12-30 20:08:27.512 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (3/5), new random ports
[I 2021-12-30 20:08:30.519 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (4/5), new random ports
[I 2021-12-30 20:08:33.527 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (5/5), new random ports
[W 2021-12-30 20:08:36.534 ServerApp] AsyncIOLoopKernelRestarter: restart failed
[W 2021-12-30 20:08:36.534 ServerApp] Kernel 0a485f5f-67d9-49af-b278-7b1caae75dc5 died, removing from map.

As it turns out, there's another location where ijavascript was getting installed.

# third directory
cd /usr/local/lib/node_modules/ijavascript/node_modules/zeromq/
npm run build:libzmq
ijsinstall --spec-path=full

After which, it finally worked.

n-riesco commented 2 years ago

@kingscolour Thank you for reporting your experience.

My understanding is that if npm config set prefix $HOME has been set, then npm install -g ijavascript installs ijavascript into ~/lib/node_modules/ijavascript.

In your case, it looks like the ijavascript you are currently running was installed in /usr/local/lib/node_modules/ijavascript/. Running which ijsinstall can help you confirm this.

BlacKnight-RH commented 2 years ago

switch to dependencies /node_modules/zeromq folder then run. npm run build:libzmq rebuild libzmq binaries

I encountered the same problem and the following solution works for me: my env:


solution:

for more info here are some resources that helped me to fix this issue on my windows machine: How can I solve error gypgyp ERR!ERR! find VSfind node-gyp repo node-gyp on windows

dokutoshi commented 1 year ago

Oddly, I resolved the issue by opening terminal and executing jupyter notebook in the environment prior to opening the intended notebook in VSCode.

Background:

The new M1 is freshly installed with VSCode for Apple Silicon.

Launched a TensorFlow model in a VScode Jupyter extension. VScode worked well allowing me to debug user code and follow framework parameters. This pattern lasted for a few days on a new M1 Macbook Pro.

I then rebooted after installing unrelated software. I forgot the importance of executing the jupyter notebook. After 4 hours of the above errors, the kernel crashing on longer runs, reinstalling packages with conda/mamba etc, it dawned on me to execute this command.

Viola, running 8-10 hour training runs once again.

If this is helpful, worth a try. VScode launches in a clean state without errors.

yueduz commented 1 year ago

In my case, he works fine on the web side, and "can't boot the kernel" in vscode. After I ran "npm run build:libzmq", he worked in VSCODE too. I use ArchLinux

aframson commented 1 year ago

worked for me as well

posting my experience in case it helps anyone else

I have ijs installed into a jupyterlab instance with node=16.12.0 & npm=8.1.0 installed via conda (thus, no nvm). This was my initial error:

Error: No native build was found for platform=linux arch=x64 runtime=node abi=93 uv=1 libc=glibc node=16.12.0

Changing node versions wasn't possible as indicated above. Reinstalling ijs with zmq_external flag à la npm_config_zmq_external=true npm install -g ijavascript && ijsinstall --spec-path=full did not help either.

However,

switch to dependencies /node_modules/zeromq folder then run. npm run build:libzmq rebuild libzmq binaries

did work. But it was a bit tricky because I, apparently, have 3 locations that needed to be rebuilt. I'm really not familiar with npm and I was recklessly throwing commands at shell so it's my own fault.

This is the gist of my resolution:

# uninstall ijs just to be safe
npm uninstall -g ijavascript
# reinstall ijs
npm install -g ijavascript

# rebuild zeromq; first directory
cd ~/lib/node_modules/ijavascript/node_modules/zeromq/
npm run build:libzmq

# second directory (must have tried installing locally at one point)
cd ~/.local/lib/node_modules/ijavascript/node_modules/zeromq/
npm run build:libzmq
ijsinstall --spec-path=full

At this point, 'Error: No native build was found for platform... errors were gone, but my kernel was still mysteriously dying. My jupyterlab logs listed:

[I 2021-12-30 20:08:18.509 ServerApp] Kernel started: 0a485f5f-67d9-49af-b278-7b1caae75dc5
[I 2021-12-30 20:08:21.499 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (1/5), new random ports
[I 2021-12-30 20:08:24.505 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (2/5), new random ports
[I 2021-12-30 20:08:27.512 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (3/5), new random ports
[I 2021-12-30 20:08:30.519 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (4/5), new random ports
[I 2021-12-30 20:08:33.527 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (5/5), new random ports
[W 2021-12-30 20:08:36.534 ServerApp] AsyncIOLoopKernelRestarter: restart failed
[W 2021-12-30 20:08:36.534 ServerApp] Kernel 0a485f5f-67d9-49af-b278-7b1caae75dc5 died, removing from map.

As it turns out, there's another location where ijavascript was getting installed.

# third directory
cd /usr/local/lib/node_modules/ijavascript/node_modules/zeromq/
npm run build:libzmq
ijsinstall --spec-path=full

After which, it finally worked.

worked for me

kubaPod commented 1 year ago

I have the same problem and wasted a lot of time trying to get anywhere. I was close I guess but then when doing $ node-gyp build I faced

[...]
gyp info spawn args ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  prepare-build
TRACKER : error TRK0005: Failed to locate: "CL.exe".
[...]

and another box of issues with MSVS appeared.

So I just went to the original error, opened ijavascript/node_modules/node-gyp-build/index.js:59 and edited line 11 with

//before
var runtime = isElectron() ? 'electron' : (isNwjs() ? 'node-webkit' : 'node')
//after
var runtime = isElectron() ? 'node' : (isNwjs() ? 'node-webkit' : 'node')

because I saw that node.abi108.node was there anyway:

image

TLDR: and the whole fix boiled down to that single string (electron -> node) and now my node kernel works.

Dfredude commented 1 year ago

switch to dependencies /node_modules/zeromq folder then run. npm run build:libzmq rebuild libzmq binaries

Thanks a lot! Have no idea how it works but it did the trick. 🤣

fortunewalla commented 1 year ago

Not sure if related to this same issue or not.

OS: WIn 10 x64

Using mamba install nodejs -c conda-forge & then npm install -g ijavascript

It works properly for node v18 but not for node v20

p.s. Didn't test any of the above mentioned build processes as I don't have the bandwidth to install & configure MSVS.

Node repo information:

  - nodejs  18.17.1  h57928b3_0  conda-forge     Cached
  + nodejs   20.6.1  h57928b3_0  conda-forge     Cached
pyzmq                         25.1.1
libsodium                     2.6.1

running the kernel through jupyter

(misc) C:\conda>jupyter console --kernel=javascript
C:\conda\envs\misc\node_modules\ijavascript\node_modules\node-gyp-build\node-gyp-build.js:60
  throw new Error('No native build was found for ' + target + '\n    loaded from: ' + dir + '\n')
  ^

Error: No native build was found for platform=win32 arch=x64 runtime=node abi=115 uv=1 libc=glibc node=20.6.1
    loaded from: C:\conda\envs\misc\node_modules\ijavascript\node_modules\zeromq

    at load.resolve.load.path (C:\conda\envs\misc\node_modules\ijavascript\node_modules\node-gyp-build\node-gyp-build.js:60:9)
    at load (C:\conda\envs\misc\node_modules\ijavascript\node_modules\node-gyp-build\node-gyp-build.js:22:30)
    at Object.<anonymous> (C:\conda\envs\misc\node_modules\ijavascript\node_modules\zeromq\binding.js:1:43)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Module.require (node:internal/modules/cjs/loader:1115:19)
    at require (node:internal/modules/helpers:130:18)
    at Object.<anonymous> (C:\conda\envs\misc\node_modules\ijavascript\node_modules\zeromq\lib\index.js:6:11)

Node.js v20.6.1
Traceback (most recent call last):
  File "C:\conda\envs\misc\lib\site-packages\jupyter_console\ptshell.py", line 434, in init_kernel_info
    reply = self.client.get_shell_msg(timeout=1)
  File "C:\conda\envs\misc\lib\site-packages\jupyter_core\utils\__init__.py", line 166, in wrapped
    return loop.run_until_complete(inner)
  File "C:\conda\envs\misc\lib\asyncio\base_events.py", line 649, in run_until_complete
    return future.result()
  File "C:\conda\envs\misc\lib\site-packages\jupyter_client\client.py", line 139, in _async_get_shell_msg
    return await ensure_async(self.shell_channel.get_msg(*args, **kwargs))
  File "C:\conda\envs\misc\lib\site-packages\jupyter_client\channels.py", line 233, in get_msg
    raise Empty
_queue.Empty

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\conda\envs\misc\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\conda\envs\misc\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\conda\envs\misc\Scripts\jupyter-console.EXE\__main__.py", line 7, in <module>
    sys.exit(main())
  File "C:\conda\envs\misc\lib\site-packages\jupyter_core\application.py", line 285, in launch_instance
    return super().launch_instance(argv=argv, **kwargs)
  File "C:\conda\envs\misc\lib\site-packages\traitlets\config\application.py", line 1042, in launch_instance
    app.initialize(argv)
  File "C:\conda\envs\misc\lib\site-packages\traitlets\config\application.py", line 113, in inner
    return method(app, *args, **kwargs)
  File "C:\conda\envs\misc\lib\site-packages\jupyter_console\app.py", line 136, in initialize
    self.init_shell()
  File "C:\conda\envs\misc\lib\site-packages\jupyter_console\app.py", line 106, in init_shell
    self.shell = ZMQTerminalInteractiveShell.instance(parent=self,
  File "C:\conda\envs\misc\lib\site-packages\traitlets\config\configurable.py", line 551, in instance
    inst = cls(*args, **kwargs)
  File "C:\conda\envs\misc\lib\site-packages\jupyter_console\ptshell.py", line 352, in __init__
    self.init_kernel_info()
  File "C:\conda\envs\misc\lib\site-packages\jupyter_console\ptshell.py", line 437, in init_kernel_info
    raise RuntimeError("Kernel didn't respond to kernel_info_request") from e
RuntimeError: Kernel didn't respond to kernel_info_request
caph1993 commented 1 year ago

The solution for me was tagore-cai's recommendation: https://github.com/n-riesco/ijavascript/issues/243#issuecomment-971120145

switch to dependencies /node_modules/zeromq folder then run. npm run build:libzmq rebuild libzmq binaries

I'm in Linux mint with node 18.17.0, python 3.10.12, pnpm 7.30.5 (I use pnpm instead of npm in my machine), and I located the "zeromq" folder by running first: jupyter kernelspec list --json | grep ijavascript. This gave me the path /home/carlos/.local/share/pnpm/global/5/.pnpm/ijavascript@5.2.1/node_modules/ijavascript/lib/kernel.js, so I went to /home/carlos/.local/share/pnpm/global/5/.pnpm/, then searched for the zeromq folder, and ended up in cd /home/carlos/.local/share/pnpm/global/5/.pnpm/zeromq@5.3.1/node_modules/zeromq. In this folder I ran pnpm run build:libzmq. After doing this, the kernel finally worked inside vscode.