inshellisense icon indicating copy to clipboard operation
inshellisense copied to clipboard

Feature Request: Support for OpenBSD

Open anoduck opened this issue 11 months ago • 2 comments

Is your feature request related to a problem? Please describe. As with almost all packages that rely on pulling a prebuilt binary to provide functionality, there is no prebuilt binary that supports OpenBSD, so installation of the project fails.

Curious if this affects other *BSD Operating Systems.

Describe the solution you'd like Either instructions on how to manually build the project need to be provided or a prebuilt binary needs to be provided.

Describe alternatives you've considered Looked into building node-pty, but was unsure how it was integrated into inshellisense. Whether it was used as a library or a build dependency that would be compiled along with inshellisense.

Additional context

npm error code 1
npm error path /usr/local/lib/node_modules/@microsoft/inshellisense/node_modules/@homebridge/node-pty-prebuilt-multiarch
npm error command failed
npm error command sh -c node scripts/check-prebuild.js || prebuild-install --verbose || node scripts/install.js
npm error gmake: Entering directory '/usr/local/lib/node_modules/@microsoft/inshellisense/node_modules/@homebridge/node-pty-prebuilt-multiarch/build'
npm error   CXX(target) Release/obj.target/pty/src/unix/pty.o
npm error gmake: Leaving directory '/usr/local/lib/node_modules/@microsoft/inshellisense/node_modules/@homebridge/node-pty-prebuilt-multiarch/build'
npm error Prebuild binary missing for platform.
npm error prebuild-install info begin Prebuild-install version 7.1.3
npm error prebuild-install info looking for local prebuild @ prebuilds/node-pty-prebuilt-multiarch-v0.11.14-node-v127-openbsd-x64.tar.gz
npm error prebuild-install info looking for cached prebuild @ /home/vassilios/.npm/_prebuilds/101766-node-pty-prebuilt-multiarch-v0.11.14-node-v127-openbsd-x64.tar.gz
npm error prebuild-install http request GET https://github.com/homebridge/node-pty-prebuilt-multiarch/releases/download/v0.11.14/node-pty-prebuilt-multiarch-v0.11.14-node-v127-openbsd-x64.tar.gz
npm error prebuild-install http 404 https://github.com/homebridge/node-pty-prebuilt-multiarch/releases/download/v0.11.14/node-pty-prebuilt-multiarch-v0.11.14-node-v127-openbsd-x64.tar.gz
npm error prebuild-install warn install No prebuilt binaries found (target=22.13.0 runtime=node arch=x64 libc= platform=openbsd)
npm error gyp info it worked if it ends with ok
npm error gyp info using [email protected]
npm error gyp info using [email protected] | openbsd | x64
npm error gyp info find Python using Python version 3.12.8 found at "/usr/local/bin/python3"
npm error gyp info spawn /usr/local/bin/python3
npm error gyp info spawn args [
npm error gyp info spawn args '/usr/local/lib/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/usr/local/lib/node_modules/@microsoft/inshellisense/node_modules/@homebridge/node-pty-prebuilt-multiarch/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/usr/local/lib/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/home/user/.cache/node-gyp/22.13.0/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/home/user/.cache/node-gyp/22.13.0',
npm error gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/home/user/.cache/node-gyp/22.13.0/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/usr/local/lib/node_modules/@microsoft/inshellisense/node_modules/@homebridge/node-pty-prebuilt-multiarch',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '--depth=.',
npm error gyp info spawn args '--no-parallel',
npm error gyp info spawn args '--generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error gyp info spawn gmake
npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm error ../src/unix/pty.cc:296:9: error: use of undeclared identifier 'forkpty'
npm error   pid = forkpty(&master, nullptr, static_cast<termios*>(term), static_cast<winsize*>(&winp));
npm error         ^
npm error ../src/unix/pty.cc:413:13: error: use of undeclared identifier 'openpty'
npm error   int ret = openpty(&master, &slave, nullptr, NULL, static_cast<winsize*>(&winp));
npm error             ^
npm error 2 errors generated.
npm error gmake: *** [pty.target.mk:114: Release/obj.target/pty/src/unix/pty.o] Error 1
npm error gyp ERR! build error 
npm error gyp ERR! stack Error: `gmake` failed with exit code: 2
npm error gyp ERR! stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/node-gyp/lib/build.js:216:23)
npm error gyp ERR! System OpenBSD 7.6
npm error gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm error gyp ERR! cwd /usr/local/lib/node_modules/@microsoft/inshellisense/node_modules/@homebridge/node-pty-prebuilt-multiarch
npm error gyp ERR! node -v v22.13.0
npm error gyp ERR! node-gyp -v v11.0.0
npm error gyp ERR! not ok

anoduck avatar Jan 24 '25 20:01 anoduck

We use homebridge/node-pty-prebuilt-multiarch instead of node-pty to avoid users having to build node-pty during installation. I've created an issue you can track

cpendery avatar May 23 '25 08:05 cpendery

Cool.

anoduck avatar May 23 '25 22:05 anoduck