I don't have half a clue how this happened. I was trying to install BitWarden desktop app from source and ran into a few snags with node-gyp during build
Below is just some random stuff I was doing in the terminal.
On the first line below, sudo worked. On the last line, sudo suddenly failed and has been broken ever since. Either something I did in the log below somehow broke sudo, or something in the background of PMOS broke it.
Any idea what's going on here? Is there any way to recover other than wiping my phone and reinstalling?
This is a mostly clean install.. PMOS only on the device for about 1 hour, and I only installed some dev libs, git.. basic stuff.
PMOS 21.03.1
Any help appreciated. Thanks
Below is just some random stuff I was doing in the terminal.
On the first line below, sudo worked. On the last line, sudo suddenly failed and has been broken ever since. Either something I did in the log below somehow broke sudo, or something in the background of PMOS broke it.
Any idea what's going on here? Is there any way to recover other than wiping my phone and reinstalling?
This is a mostly clean install.. PMOS only on the device for about 1 hour, and I only installed some dev libs, git.. basic stuff.
PMOS 21.03.1
Code:
pine64-pinephone:~/Source/desktop$ sudo npm install node-gyp -g
added 91 packages, and audited 92 packages in 25s
3 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
pine64-pinephone:~/Source/desktop$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@8.1.0
gyp info using node@14.16.1 | linux | arm64
gyp info find Python using Python version 3.8.10 found at "/usr/bin/python3"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/usr/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/user/Source/desktop/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/user/.cache/node-gyp/14.16.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/user/.cache/node-gyp/14.16.1',
gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/user/.cache/node-gyp/14.16.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/user/Source/desktop',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp: binding.gyp not found (cwd: /home/user/Source/desktop) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/node-gyp/lib/configure.js:353:16)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 5.11.0
gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/user/Source/desktop
gyp ERR! node -v v14.16.1
gyp ERR! node-gyp -v v8.1.0
gyp ERR! not ok
pine64-pinephone:~/Source$ cd ..
pine64-pinephone:~/Source$ find . -name "binding*"
./node-gyp/docs/binding.gyp-files-in-the-wild.md
./node-gyp/test/node_modules/hello_world/binding.gyp
pine64-pinephone:~/Source$ cd node-gyp/test/node_modules/hello_world/
pine64-pinephone:~/Source/node-gyp/test/node_modules/hello_world$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@8.1.0
gyp info using node@14.16.1 | linux | arm64
gyp info find Python using Python version 3.8.10 found at "/usr/bin/python3"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/usr/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/user/Source/node-gyp/test/node_modules/hello_world/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/user/.cache/node-gyp/14.16.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/user/.cache/node-gyp/14.16.1',
gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/user/.cache/node-gyp/14.16.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/user/Source/node-gyp/test/node_modules/hello_world',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'nan'
Require stack:
- /home/user/Source/node-gyp/test/node_modules/hello_world/[eval]
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at [eval]:1:1
at Script.runInThisContext (vm.js:133:18)
at Object.runInThisContext (vm.js:310:38)
at internal/process/execution.js:77:19
at [eval]-wrapper:6:22
at evalScript (internal/process/execution.js:76:60) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/home/user/Source/node-gyp/test/node_modules/hello_world/[eval]' ]
}
gyp: Call to 'node -e "require('nan')"' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/node-gyp/lib/configure.js:353:16)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 5.11.0
gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/user/Source/node-gyp/test/node_modules/hello_world
gyp ERR! node -v v14.16.1
gyp ERR! node-gyp -v v8.1.0
gyp ERR! not ok
pine64-pinephone:~/Source/node-gyp/test/node_modules/hello_world$ sudo apk add g++
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Code:
pine64-pinephone:~$ ls -l /usr/bin/sudo
-rwxr-xr-x 1 root 1000 141224 Jan 26 19:06 /usr/bin/sudo
Any help appreciated. Thanks