pulsar-edit / pulsar

A Community-led Hyper-Hackable Text Editor
https://pulsar-edit.dev
Other
3.27k stars 137 forks source link

Hydrogen failing to install #182

Open GuiltySpark7 opened 1 year ago

GuiltySpark7 commented 1 year ago

Thanks in advance for your bug report!

What happened?

tried to install hydrogen package through the pulsar GUI and it fails to install. I had no problems with installing other packages. I know there is already a lot to do and supporting specific packages is too much but Hydrogen is a key package which is the sole reason for a lot of people refusing to abandon pulsar/atom. if it can run out of the box, many more people will stick with pulsar

i get the following error message:

Installing “Hydrogen@2.16.3” failed.Hide output…

@aminya/zeromq@5.2.16 install /tmp/apm-install-dir-20221029-20896-vsezu6.i3yds/node_modules/Hydrogen/node_modules/@aminya/zeromq node-gyp-build || npm run build:libzmq

@aminya/zeromq@5.2.16 build:libzmq /tmp/apm-install-dir-20221029-20896-vsezu6.i3yds/node_modules/Hydrogen/node_modules/@aminya/zeromq 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:21328) [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) Traceback (most recent call last): File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 50, in sys.exit(gyp.script_main()) ^^^^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 554, in script_main return main(sys.argv[1:]) ^^^^^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 547, in main return gyp_main(args) ^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 520, in gyp_main [generator, flat_list, targets, data] = Load( ^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 136, in Load result = gyp.input.Load(build_files, default_variables, includes[:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 2782, in Load LoadTargetBuildFile(build_file, data, aux_data, File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 391, in LoadTargetBuildFile build_file_data = LoadOneBuildFile(build_file_path, data, aux_data, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 234, in LoadOneBuildFile build_file_contents = open(build_file_path, 'rU').read() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: invalid mode: 'rU' 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 (/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16) gyp ERR! stack at ChildProcess.emit (node:events:365:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12) gyp ERR! System Linux 6.0.9-300.fc37.x86_64 gyp ERR! command "/opt/Pulsar/resources/app/ppm/bin/node" "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /tmp/apm-install-dir-20221029-20896-vsezu6.i3yds/node_modules/Hydrogen/node_modules/@aminya/zeromq gyp ERR! node -v v16.0.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok (node:21382) [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) Traceback (most recent call last): File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 50, in sys.exit(gyp.script_main()) ^^^^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 554, in script_main return main(sys.argv[1:]) ^^^^^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 547, in main return gyp_main(args) ^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 520, in gyp_main [generator, flat_list, targets, data] = Load( ^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 136, in Load result = gyp.input.Load(build_files, default_variables, includes[:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 2782, in Load LoadTargetBuildFile(build_file, data, aux_data, File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 391, in LoadTargetBuildFile build_file_data = LoadOneBuildFile(build_file_path, data, aux_data, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 234, in LoadOneBuildFile build_file_contents = open(build_file_path, 'rU').read() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: invalid mode: 'rU' 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 (/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16) gyp ERR! stack at ChildProcess.emit (node:events:365:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12) gyp ERR! System Linux 6.0.9-300.fc37.x86_64 gyp ERR! command "/opt/Pulsar/resources/app/ppm/bin/node" "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /tmp/apm-install-dir-20221029-20896-vsezu6.i3yds/node_modules/Hydrogen/node_modules/@aminya/zeromq gyp ERR! node -v v16.0.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.16 build:libzmq: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @aminya/zeromq@5.2.16 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/doug/.pulsar/.apm/_logs/2022-11-29T09_33_21_988Z-debug.log npm WARN enoent ENOENT: no such file or directory, open '/tmp/apm-install-dir-20221029-20896-vsezu6.i3yds/package.json' 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 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/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 @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/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-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 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-20221029-20896-vsezu6.i3yds No description npm WARN apm-install-dir-20221029-20896-vsezu6.i3yds No repository field. npm WARN apm-install-dir-20221029-20896-vsezu6.i3yds No README data npm WARN apm-install-dir-20221029-20896-vsezu6.i3yds 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/doug/.pulsar/.apm/_logs/2022-11-29T09_33_22_685Z-debug.log

I tried running pulsar like: sudo pulsar --no-sandbox and that did generate a diffrent error:

Installing “Hydrogen@2.16.3” failed.Hide output…

@aminya/zeromq@5.2.16 install /tmp/apm-install-dir-20221029-28812-hbc6w6.kvik4/node_modules/Hydrogen/node_modules/@aminya/zeromq node-gyp-build || npm run build:libzmq

styled-components@5.3.6 postinstall /tmp/apm-install-dir-20221029-28812-hbc6w6.kvik4/node_modules/Hydrogen/node_modules/styled-components node ./postinstall.js

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 sh: line 1: node-gyp-build: command not found Error: EACCES: permission denied, scandir '/tmp/apm-install-dir-20221029-28812-hbc6w6.kvik4/node_modules/Hydrogen/node_modules/@aminya/zeromq' node:internal/modules/cjs/loader:943 throw err; ^

Error: Cannot find module '/tmp/apm-install-dir-20221029-28812-hbc6w6.kvik4/node_modules/Hydrogen/node_modules/styled-components/postinstall.js' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:940:15) at Function.Module._load (node:internal/modules/cjs/loader:773:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12) at node:internal/main/run_main_module:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } npm WARN enoent ENOENT: no such file or directory, open '/tmp/apm-install-dir-20221029-28812-hbc6w6.kvik4/package.json' 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 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 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 @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 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-20221029-28812-hbc6w6.kvik4 No description npm WARN apm-install-dir-20221029-28812-hbc6w6.kvik4 No repository field. npm WARN apm-install-dir-20221029-28812-hbc6w6.kvik4 No README data npm WARN apm-install-dir-20221029-28812-hbc6w6.kvik4 No license field.

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! styled-components@5.3.6 postinstall: node ./postinstall.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the styled-components@5.3.6 postinstall 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! /root/.pulsar/.apm/_logs/2022-11-29T09_50_02_386Z-debug.log

Which OS does this happen on?

🐧 Red Hat based (Fedora, Alma, RockyLinux, CentOS Stream, etc.)

OS details

fedora 37

Which CPU architecture are you running this on?

64-bit(x86_64)

What steps are needed to reproduce this?

  1. download pulsar-1.63.2022112700.x86_64
  2. in konsol: sudo yum install pulsar-1.63.2022112700.x86_64
  3. open pulsar --> navigate to install packages
  4. find hydrogen package and click install

Additional Information:

No response

Daeraxa commented 1 year ago

Huh, we fixed an issue yesterday where it wasn't installing at all (https://github.com/confused-Techie/atom-backend/issues/86) but it sounds like it is getting further than that, I didn't have an issue installing it on my system once the above issue was fixed.

@GuiltySpark7 Just FYI the logs are a lot easier to read if you can fence them in a code block ```

@mauricioszabo this wouldn't happen to be this new Python 3.11 thing breaking node-gyp would it?

GuiltySpark7 commented 1 year ago

@Daeraxa ahhh yes sorry, i am quite new to this.

that looks like it could be part of the problem.

build_file_contents = open(build_file_path, 'rU').read()

is using depreciated syntax 'rU'. this line should now be:

build_file_contents = open(build_file_path, 'r', newline='').read()

as the answer on this thread indicates https://stackoverflow.com/questions/38093326/whats-the-difference-between-rb-and-ru-in-the-open-function-for-csv

I have now actually changed operating systems from Fedora 37 (python 3.11) to mint 21 (python 3.10) partly in a hope this might go away. Unfortunately, I am not so lucky. what is your setup? which version of pulsar did you install, any help would be greatly appreciated.

The error whilst installing hydrogen has now changed though:

Installing “Hydrogen@2.16.3” failed.Hide output…

> @aminya/zeromq@5.2.16 install /tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/Hydrogen/node_modules/@aminya/zeromq
> node-gyp-build || npm run build:libzmq

make: Entering directory '/tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/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... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' 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... no
  TOUCH Release/obj.target/libzmq.stamp
  CXX(target) Release/obj.target/zmq/binding.o
make: Leaving directory '/tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/Hydrogen/node_modules/@aminya/zeromq/build'

> @aminya/zeromq@5.2.16 build:libzmq /tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/Hydrogen/node_modules/@aminya/zeromq
> node-gyp rebuild

make: Entering directory '/tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/Hydrogen/node_modules/@aminya/zeromq/build'
  ACTION binding_gyp_libzmq_target_prepare_build zmq/BUILD_SUCCESS
Libzmq found, skipping rebuild.
  TOUCH Release/obj.target/libzmq.stamp
  CXX(target) Release/obj.target/zmq/binding.o
make: Leaving directory '/tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/Hydrogen/node_modules/@aminya/zeromq/build'

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:8371) [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)
configure: error: in `/tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/Hydrogen/node_modules/@aminya/zeromq/zmq/zeromq-4.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: g++: No such file or directory
make: *** [zmq.target.mk:120: Release/obj.target/zmq/binding.o] Error 127
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:365:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Linux 5.15.0-41-generic
gyp ERR! command "/opt/Pulsar/resources/app/ppm/bin/node" "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/Hydrogen/node_modules/@aminya/zeromq
gyp ERR! node -v v16.0.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
(node:8715) [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)
make: g++: No such file or directory
make: *** [zmq.target.mk:120: Release/obj.target/zmq/binding.o] Error 127
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:365:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Linux 5.15.0-41-generic
gyp ERR! command "/opt/Pulsar/resources/app/ppm/bin/node" "/opt/Pulsar/resources/app/ppm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/node_modules/Hydrogen/node_modules/@aminya/zeromq
gyp ERR! node -v v16.0.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.16 build:libzmq: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @aminya/zeromq@5.2.16 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/guiltyspark7/.pulsar/.apm/_logs/2022-11-29T22_11_37_528Z-debug.log
npm WARN enoent ENOENT: no such file or directory, open '/tmp/apm-install-dir-20221029-5399-zzzwsu.n8k5/package.json'
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/outputs@3.0.11 requires a peer of react@^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 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 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-20221029-5399-zzzwsu.n8k5 No description
npm WARN apm-install-dir-20221029-5399-zzzwsu.n8k5 No repository field.
npm WARN apm-install-dir-20221029-5399-zzzwsu.n8k5 No README data
npm WARN apm-install-dir-20221029-5399-zzzwsu.n8k5 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/guiltyspark7/.pulsar/.apm/_logs/2022-11-29T22_11_38_181Z-debug.log
GuiltySpark7 commented 1 year ago

Some progress.. I installed an earlier version of pulsar

pulsar_1.63.2022112520_amd64.deb

now it works fine. so the problem is somewhere between that version and

pulsar_1.63.2022112905_amd64.deb

Let me know if you want help digging deeper. I am a little out of my depth on this stuff though..

Daeraxa commented 1 year ago

I would have assumed the python downgrade would have fixed it as that has been reported before (and what I alluded to in my first comment).

I'm on Linux Mint 20.3 but I'm not really running "a" version, I'm running from source on the latest commit and Hydrogen installs just fine.

Python versions (I don't use Python for anything other than dependencies):

 ~ python --version
Python 2.7.18
 ~ python3 --version
Python 3.8.10
confused-Techie commented 1 year ago

Also looking into this. But to try and make things easier for others trying to investigate:

And the PRs that were merged in between these two versions (including these versions) in order from oldest to most recent

Which off the top of my head, doesn't look like any of these should cause this to fail. But that's what I'm seeing in the commits, so hopefully this can be of some help

DeeDeeG commented 1 year ago

make: g++: No such file or directory

You need to install the g++ package to have a usable C++ copmpiler on your new OS install. :)

mjrodgers commented 1 year ago

There is a new version of Hydrogen available on the nteract GitHub page, (v2.16.4) which says it fixes support for Electron 11. But this version does not show up in Pulsar, it needs to be installed manually at the moment.

Spiker985 commented 1 year ago

There is a new version of Hydrogen available on the nteract GitHub page, (v2.16.4) which says it fixes support for Electron 11. But this version does not show up in Pulsar, it needs to be installed manually at the moment.

With that new version, does the original install issue still occur? @GuiltySpark7

Spiker985 commented 1 year ago

Oh, I didn't realize that the issue was resolved in-between versions. Does this issue still occur in recent builds?

DeeDeeG commented 1 year ago

I personally had trouble getting that new version of Hydrogen to work, in Atom (electron 9) or Pulsar (Electron 12). Maybe it works properly in the latest Atom (Electron 11)?

Edit to be clear: I can install it just fine, but I think the native bits of one of its dependencies aren't wired up just right. Runtime errors, not install-time errors.

humanplayer2 commented 1 year ago

I installed the newest version (v2.16.5) just fine with pulsar -p install https://github.com/nteract/hydrogen/ -b v2.16.5, but it cannot activate:

No native build was found for platform=linux arch=x64 runtime=electron abi=87 uv=1 libc=glibc node=14.16.0 electron=12.2.3
    loaded from: $HOME/.pulsar/packages/Hydrogen/node_modules/zeromq
[Hide Stack Trace](https://github.com/pulsar-edit/pulsar/issues/182#)
Error: No native build was found for platform=linux arch=x64 runtime=electron abi=87 uv=1 libc=glibc node=14.16.0 electron=12.2.3
    loaded from: $HOME/.pulsar/packages/Hydrogen/node_modules/zeromq
    at Function.load.resolve.load.path ($HOME/.pulsar/packages/hydrogen-2.16.5/node_modules/node-gyp-build/node-gyp-build.js:60:9)
    at load ($HOME/.pulsar/packages/hydrogen-2.16.5/node_modules/node-gyp-build/node-gyp-build.js:22:30)
    at Object.<anonymous> ($HOME/.pulsar/packages/hydrogen-2.16.5/node_modules/zeromq/binding.js:1:198)
    at Object.<anonymous> ($HOME/.pulsar/packages/hydrogen-2.16.5/node_modules/zeromq/binding.js:3:3)
    at Module._compile (/opt/Pulsar/resources/app.asar/src/native-compile-cache.js:120:30)
    at Object.value [as .js] (/opt/Pulsar/resources/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 (/opt/Pulsar/resources/app.asar/src/native-compile-cache.js:67:27)
    at Object.<anonymous> ($HOME/.pulsar/packages/hydrogen-2.16.5/node_modules/zeromq/lib/index.js:6:11)
    at Object.<anonymous> ($HOME/.pulsar/packages/hydrogen-2.16.5/node_modules/zeromq/lib/index.js:857:3)
    at Module._compile (/opt/Pulsar/resources/app.asar/src/native-compile-cache.js:120:30)
    at Object.value [as .js] (/opt/Pulsar/resources/app.asar/src/compile-cache.js:252:23)
    at Module.load (internal/modules/pulsar
Daeraxa commented 1 year ago

I think you need to do a pulsar -p rebuild to make it work?

humanplayer2 commented 1 year ago

Alas no, that didn't do it. But thank you.

Spiker985 commented 1 year ago

Please refer to the Outdated badge on the package's entry on our site for further information on how to install a proper version.

Let me know if the above instructions don't work

GrishaKirilin commented 1 year ago

Please refer to the Outdated badge on the package's entry on our site for further information on how to install a proper version.

Let me know if the above instructions don't work

Sorry, but it doesn't work. I run

pulsar -p install https://github.com/nteract/hydrogen -t v2.16.5

But the error No native build was found for platform=linux... is still here, even after pulsar -p rebuild. The only strange thing I noticed, if I run

pulsar -p list

I got

Git Packages (1) /home/grisha/.pulsar/packages
└── Hydrogen@2.16.4 (nteract/hydrogen#v2.16.5)

so the version 2.16.4 does not match 2.16.5.

Here is the full report:

Versions

Pulsar: 1.107.1 x64 Electron: 12.2.3 OS: Ubuntu 22.04.2 Thrown From: Hydrogen package 2.16.4

Stack Trace

Failed to activate the Hydrogen package

At No native build was found for platform=linux arch=x64 runtime=electron abi=87 uv=1 libc=glibc node=14.16.0 electron=12.2.3
    loaded from: /home/grisha/.pulsar/packages/Hydrogen/node_modules/zeromq

Error: No native build was found for platform=linux arch=x64 runtime=electron abi=87 uv=1 libc=glibc node=14.16.0 electron=12.2.3
    loaded from: /home/grisha/.pulsar/packages/Hydrogen/node_modules/zeromq

    at Function.load.resolve.load.path (/packages/atom-ide-outline/node_modules/node-gyp-build/node-gyp-build.js:60:9)
    at load (/packages/atom-ide-outline/node_modules/node-gyp-build/node-gyp-build.js:22:30)
    at /packages/Hydrogen/node_modules/zeromq/binding.js:1:198)
    at /packages/Hydrogen/node_modules/zeromq/binding.js:3: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/Hydrogen/node_modules/zeromq/lib/index.js:6:11)
    at /packages/Hydrogen/node_modules/zeromq/lib/index.js:857: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/Hydrogen/node_modules/zeromq/index.js:2:18)
    at /packages/Hydrogen/node_modules/zeromq/index.js:3: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/Hydrogen/node_modules/jmp/index.js:37:11)
    at /packages/Hydrogen/node_modules/jmp/index.js:450: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/Hydrogen/dist/zmq-kernel.js:7:15)
    at /packages/Hydrogen/dist/zmq-kernel.js:325: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/Hydrogen/dist/main.js:38:38)
    at /packages/Hydrogen/dist/main.js:460: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 requireModule (/app.asar/src/module-utils.js:3:17)
    at Package.requireMainModule (/app.asar/src/package.js:912:27)
    at Package.activateNow (/app.asar/src/package.js:232:34)
    at /app.asar/src/package.js:1028:24
    at Function.simpleDispatch (/app.asar/node_modules/event-kit/dist/emitter.js:64:14)
    at Emitter.emit (/app.asar/node_modules/event-kit/dist/emitter.js:257:28)
    at CommandRegistry.handleCommandEvent (/app.asar/src/command-registry.js:379:18)
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:617:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:408:22)
    at WindowEventHandler.handleDocumentKeyEvent (/app.asar/src/window-event-handler.js:153:34)

Commands

     -5:14.5.0 intentions:highlight (input.hidden-input)
     -5:14.3.0 command-palette:toggle (input.hidden-input)
  3x -5:06.0 core:backspace (input.hidden-input)
     -5:05.6.0 editor:consolidate-selections (input.hidden-input)
     -5:05.6.0 core:cancel (input.hidden-input)
     -5:05.0 intentions:highlight (input.hidden-input)
     -5:04.6.0 grammar-selector:show (input.hidden-input)
     -5:02.1.0 core:confirm (input.hidden-input)
     -4:59.3.0 hydrogen:run-and-move-down (input.hidden-input)
     -4:56.8.0 intentions:highlight (input.hidden-input)
DeeDeeG commented 1 year ago

I think Hydrogen at some point rather optimistically made a hard assumption that it will provide prebuilds for all target platforms.

It would be good for that package to do the usual thing of falling back to compilation if the prebuilt binary is in fact not available for the target platform. Dunno how active Hydrogen package development is right now off the top of my head, but looking at the README I think it is basically paused/no ongoing development at its official repo.

EDIT to add: There have been quiet murmurs of a fork, but I think people mostly don't feel familiar enough with it to confidently do so?

GrishaKirilin commented 1 year ago

There are very few packages that give Pulsar/Atom an advantage over other editors. Hydrogen is definitely one of them. It was a robust, language agnostic, aesthetically pleasing, very comfortable notebook-like development platform. I used it for C++ (with Xeus-Cling kernel) and Python development (with standard Jupyter kernel). I think, it is much better than anything, e.g., VS Code can offer. I wish such a package would be a focus of Pulsar's development.

Can I build and install it locally? Just clone the repo, do something, and install via the Pulsar package manager. @DeeDeeG, could you help?

confused-Techie commented 1 year ago

@GrishaKirilin I do agree that many of the community packages give Pulsar a big advantage over the others, but to be frank, with how much work is needed on Pulsar itself, I'd love for them to remain just that, packages maintained by the community. But unfortunately the maintainers of Hydrogen do not seem inclined to publish updates to Pulsar, nor try to keep any compatibility with Pulsar. Where as far as I've been able to tell the team originally behind Hydrogen has stopped maintaining the package at all.

So unfortunately, as we continue to update Pulsar, and mostly really update Electron and NodeJS, the systems some complex packages like Hydrogen rely on change, and the package needs to be updated.

Now unfortunately there's no one on the core dev team here at Pulsar that has ever seemed to use Hydrogen, and we've had yet to find anyone willing to work with us on a fork. So while I would love for it to be a focus, and I myself have a fork of Hydrogen on my personal account that I've attempted to update, it really comes down to the difficulty maintaining a large, complex project, that goes through several layers of transpilation to finally become shippable JavaScript with years of knowledge being totally lost; on top of being an application aimed at a workcase you've never used nor know how it works, while lastly being totally reliant on Jupyter Notebooks which is again something not even familiar with for many of us.

So if anyone wants to maintain a Hydrogen fork to get this first party support then feel free and I'd be much more than happy to help, but there's still some obstacles to consider before getting it updated and working from the Pulsar team.

mauricioszabo commented 1 year ago

Hi folks - just jumping in. There are a few issues here that I want to address with my own worries/tries/things that might work.

  1. Hydrogen, the version that installs from the interface, is indeed not working. The outdated link indeed should work (emphasis on should - more on that later)
  2. Hydrogen, installed from github's tag v2.16.5, will still report 2.16.4 because the author did not bump the version in package.json
  3. There are moments that pulsar -p rebuild, or trying to install from github, are indeed failing. Somewhere along the issues I commented this, but I actually don't remember where. I am looking at a way to install and rebuild packages with a different approach that might solve this, but in the meantime, there are some tricks you can try, like running npx electron-rebuild -v 12.2.3 on the package's directory to see if that fixes the issue (see this comment of a more recent issue

Hopefully this last one helps, anyway, we're still not sure how to proceed with Hydrogen. It's looking for a maintainer but it needs a huge cleanup first, and we need to see if it'll work on newer Electrons (on my experience, it didn't).

savetheclocktower commented 1 year ago

I'd only add this: if we upgraded Pulsar to a newer Electron version without being able to offer an upgrade path to all of our Hydrogen users, we'd be doing something pretty silly. Hydrogen users are some of the most loyal Pulsar users, so we'd be guaranteeing that a large portion of our user base would be stuck on an old version of Pulsar.

We don't want that, so a fork of Hydrogen is pretty much inevitable. We'd be happy to consult on the creation of such a fork and describe which parts of Hydrogen won't work right in newer Electron, but we'd need someone familiar enough with how Hydrogen works to be able to figure out replacements for those parts.

GrishaKirilin commented 1 year ago

@mauricioszabo It works! For the sake of reference, that is what I have done: