nodejs / nodejs/node-gyp

cannot install better-sqlite3

Open
#3,004 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Linux
Dominant language
Python
Stars
10.7k
Forks
1.9k
Avg merge
1d 4h
Merged PRs (30d)
5

Description

npm ERR! code 1
npm ERR! path /workspaces/Multipurpose-discord-bot/node_modules/quick.db/node_modules/better-sqlite3
npm ERR! command failed
npm ERR! command sh -c prebuild-install || npm run build-release
npm ERR! > better-sqlite3@7.6.2 build-release
npm ERR! > node-gyp rebuild --release
npm ERR!
npm ERR!
npm ERR! make: Entering directory '/workspaces/Multipurpose-discord-bot/node_modules/quick.db/node_modules/better-sqlite3/build'
npm ERR! TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate
npm ERR! ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate
npm ERR! TOUCH Release/obj.target/deps/locate_sqlite3.stamp
npm ERR! CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
npm ERR! rm -f Release/obj.target/deps/sqlite3.a Release/obj.target/deps/sqlite3.a.ar-file-list; mkdir -p dirname Release/obj.target/deps/sqlite3.a
npm ERR! ar crs Release/obj.target/deps/sqlite3.a @Release/obj.target/deps/sqlite3.a.ar-file-list
npm ERR! COPY Release/sqlite3.a
npm ERR! CXX(target) Release/obj.target/better_sqlite3/src/better_sqlite3.o
npm ERR! rm ba23eeee118cd63e16015df367567cb043fed872.intermediate
npm ERR! make: Leaving directory '/workspaces/Multipurpose-discord-bot/node_modules/quick.db/node_modules/better-sqlite3/build'
npm ERR! prebuild-install warn install No prebuilt binaries found (target=20.11.1 runtime=node arch=x64 libc= platform=linux)
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@10.0.1
npm ERR! gyp info using node@20.11.1 | linux | x64
npm ERR! gyp info find Python using Python version 3.10.13 found at "/home/codespace/.python/current/bin/python3"
npm ERR! gyp info spawn /home/codespace/.python/current/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/workspaces/Multipurpose-discord-bot/node_modules/quick.db/node_modules/better-sqlite3/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/codespace/.cache/node-gyp/20.11.1/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/home/codespace/.cache/node-gyp/20.11.1',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/home/codespace/.cache/node-gyp/20.11.1/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/workspaces/Multipurpose-discord-bot/node_modules/quick.db/node_modules/better-sqlite3',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! In file included from ./src/better_sqlite3.lzz:11,
npm ERR! from ../src/better_sqlite3.cpp:4:
npm ERR! /home/codespace/.cache/node-gyp/20.11.1/include/node/node.h:1192:51: warning: cast between incompatible function types from ‘void ()(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Context)’ to ‘node::addon_context_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Context, void*)’} [-Wcast-function-type]
npm ERR! 1192 | (node::addon_context_register_func) (regfunc),
npm ERR! | ^
npm ERR! /home/codespace/.cache/node-gyp/20.11.1/include/node/node.h:1210:3: note: in expansion of macro ‘NODE_MODULE_CONTEXT_AWARE_X’
npm ERR! 1210 | NODE_MODULE_CONTEXT_AWARE_X(modname, regfunc, NULL, 0)
npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! /home/codespace/.cache/node-gyp/20.11.1/include/node/node.h:1241:3: note: in expansion of macro ‘NODE_MODULE_CONTEXT_AWARE’
npm ERR! 1241 | NODE_MODULE_CONTEXT_AWARE(NODE_GYP_MODULE_NAME,
npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! ./src/better_sqlite3.lzz:67:1: note: in expansion of macro ‘NODE_MODULE_INIT’
npm ERR! ./src/util/macros.lzz: In function ‘void SetPrototypeGetter(v8::Isolate*, v8::Localv8::External, v8::Localv8::FunctionTemplate, const char*, v8::AccessorGetterCallback)’:
npm ERR! ./src/util/macros.lzz:157:21: error: ‘v8::AccessorSignature’ has not been declared
npm ERR! ./src/util/binder.lzz: In static member function ‘static bool Binder::IsPlainObject(v8::Isolate*, v8::Localv8::Object)’:
npm ERR! ./src/util/binder.lzz:37:51: error: ‘class v8::Object’ has no member named ‘CreationContext’; did you mean ‘GetCreationContext’?
npm ERR! ./src/util/data.lzz: In function ‘v8::Localv8::Value Data::GetValueJS(v8::Isolate*, sqlite3_stmt*, int, bool)’:
npm ERR! ./src/util/data.lzz:73:92: warning: this statement may fall through [-Wimplicit-fallthrough=]
npm ERR! ./src/util/data.lzz:73:197: note: here
npm ERR! ./src/util/data.lzz: In function ‘v8::Localv8::Value Data::GetValueJS(v8::Isolate*, sqlite3_value*, bool)’:
npm ERR! ./src/util/data.lzz:77:81: warning: this statement may fall through [-Wimplicit-fallthrough=]
npm ERR! ./src/util/data.lzz:77:175: note: here
npm ERR! make: *** [better_sqlite3.target.mk:120: Release/obj.target/better_sqlite3/src/better_sqlite3.o] Error 1
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: make failed with exit code: 2
npm ERR! gyp ERR! stack at ChildProcess. (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
npm ERR! gyp ERR! System Linux 6.2.0-1019-azure
npm ERR! gyp ERR! command "/usr/local/share/nvm/versions/node/v20.11.1/bin/node" "/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
npm ERR! gyp ERR! cwd /workspaces/Multipurpose-discord-bot/node_modules/quick.db/node_modules/better-sqlite3
npm ERR! gyp ERR! node -v v20.11.1
npm ERR! gyp ERR! node-gyp -v v10.0.1
npm ERR! gyp ERR! not ok

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the reported npm install in the /workspaces/Multipurpose-discord-bot environment using Node.js 20.11.1, then inspect the node-gyp build output and the better-sqlite3 binding.gyp context. Compare the reported V8 compilation errors with the node-gyp build behavior; done means the affected dependency installs successfully or the compatibility boundary is clearly identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, python, sqlite
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.