mjrodgers/pulsar-ide-python

Failed to activate the pulsar-ide-python package

Opened this issue · 7 comments

No native build was found for platform=darwin arch=arm64 runtime=electron abi=87 uv=1 armv=8 libc=glibc node=14.16.0 electron=12.2.3
loaded from: /Users/d/.pulsar/packages/pulsar-ide-python/node_modules/zadeh

Steps to reproduce:

Macbook m1 Ventura 13.5.2

  • Install puslar For Apple Silicon (M1/M2) macs version (no previous installs)
  • Go to settings and install pulsar-ide-python package.

Got and issue

No native build was found for platform=darwin arch=arm64 runtime=electron abi=87 uv=1 armv=8 libc=glibc node=14.16.0 electron=12.2.3
loaded from: /Users/d/.pulsar/packages/pulsar-ide-python/node_modules/zadeh

Im gettting the same issue.

Versions

Pulsar: 1.109.0 arm64
Electron: 12.2.3
OS: macOS 13.5
Thrown From: pulsar-ide-python package 1.10.3

Stack Trace

Failed to activate the pulsar-ide-python package

At No native build was found for platform=darwin arch=arm64 runtime=electron abi=87 uv=1 armv=8 libc=glibc node=14.16.0 electron=12.2.3
    loaded from: /Users/<deleted>/.pulsar/packages/pulsar-ide-python/node_modules/zadeh


Error: No native build was found for platform=darwin arch=arm64 runtime=electron abi=87 uv=1 armv=8 libc=glibc node=14.16.0 electron=12.2.3
    loaded from: /Users/<deleted>/.pulsar/packages/pulsar-ide-python/node_modules/zadeh

    at Function.load.resolve.load.path (/packages/pulsar-ide-python/node_modules/node-gyp-build/node-gyp-build.js:60:9)
    at load (/packages/pulsar-ide-python/node_modules/node-gyp-build/node-gyp-build.js:22:30)
    at /packages/pulsar-ide-python/node_modules/zadeh/index.js:1:2743)
    at /packages/pulsar-ide-python/node_modules/zadeh/index.js:4:3)
    at Module._compile (/app.asar/src/native-compile-cache.js:120:30)
    at /app.asar/src/compile-cache.js:252:23)
    at Module.load (internal/modules/cjs/loader.js:935:32)
    at Module._load (internal/modules/cjs/loader.js:776:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12913)
    at Function.o._load (electron/js2c/renderer_init.js:33:379)
    at Module.require (internal/modules/cjs/loader.js:959:19)
    at require (/app.asar/src/native-compile-cache.js:67:27)
    at /packages/pulsar-ide-python/node_modules/atom-languageclient/build/lib/adapters/autocomplete-adapter.js:15:17)
    at /packages/pulsar-ide-python/node_modules/atom-languageclient/build/lib/adapters/autocomplete-adapter.js:441:3)
    at Module._compile (/app.asar/src/native-compile-cache.js:120:30)
    at /app.asar/src/compile-cache.js:252:23)
    at Module.load (internal/modules/cjs/loader.js:935:32)
    at Module._load (internal/modules/cjs/loader.js:776:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12913)
    at Function.o._load (electron/js2c/renderer_init.js:33:379)
    at Module.require (internal/modules/cjs/loader.js:959:19)
    at require (/app.asar/src/native-compile-cache.js:67:27)
    at /packages/pulsar-ide-python/node_modules/atom-languageclient/build/lib/auto-languageclient.js:19:32)
    at /packages/pulsar-ide-python/node_modules/atom-languageclient/build/lib/auto-languageclient.js:952:3)
    at Module._compile (/app.asar/src/native-compile-cache.js:120:30)
    at /app.asar/src/compile-cache.js:252:23)
    at Module.load (internal/modules/cjs/loader.js:935:32)
    at Module._load (internal/modules/cjs/loader.js:776:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12913)
    at Function.o._load (electron/js2c/renderer_init.js:33:379)

Commands

  3x -4:18.4.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)

Non-Core Packages

autocomplete-python 1.17.1 
busy-signal 2.0.1 
ide-cpp 0.1.0 
intentions 2.1.1 
language-rust 0.4.12 
language-vue 0.26.2 
language-vue-component 0.5.0 
linter 3.4.0 
linter-rust 1.0.1 
linter-ui-default 3.4.1 
pulsar-ide-python 1.10.3 
python-black 0.7.0 
turbo-javascript 1.4.0 

Additional Information

At the moment this one is out of my reach, the zadeh module is actually a dependency of atom-languageclient which is sorely in need of an update or replacement... Do you have this same issue with other LSP-related Pulsar packages as well?

This is related to the issues here
atom-community/zadeh#103
pulsar-edit/pulsar#580

At the moment this one is out of my reach, the zadeh module is actually a dependency of atom-languageclient which is sorely in need of an update or replacement... Do you have this same issue with other LSP-related Pulsar packages as well?

This seems to be the only one affected atm but pulsar isnt my primary IDE, I use it for viewing source code, as such there may well be related packages that are affected im not aware of

I was able to get this fixed on new apple silicon machine by navigating to ~/.pulsar/packages/pulsar-ide-python/node_modules/zadeh and running node-gyp rebuild. I'll update the readme to make note of this.

@mjrodgers, @savetheclocktower/atom-languageclient version 1.17.9 has removed the dependency on zadeh. This is still something that Pulsar should figure out how to do automatically, but in the short term this should remove a headache for Apple Silicon users.

New installations of pulsar-ide-python should get the new version automatically, but you might want to do an explicit version bump. Up to you. Let me know if it doesn't have the intended effect.

Not that it matters much for this package specifically, but we identified the root cause (which was pretty dumb!) and the next version of Pulsar should fix this altogether.

In this case, had zadeh still been a dependency of atom-languageclient, it would've resulted in a slightly longer installation process (since zadeh has no arm64 prebuild) and would've required build tools to be set up. But zadeh would've had the right architecture the first time around.

It also means that, if somehow you wind up with the wrong architecture on a native module (like when migrating from Intel Mac to Silicon Mac), both ppm rebuild and the in-Pulsar GUI for rebuilding packages will now rebuild it properly.