WiseLibs / better-sqlite3

The fastest and simplest library for SQLite3 in Node.js.
MIT License
5.26k stars 391 forks source link

version 7.6.2 wont build #1087

Closed DaliborTrampota closed 9 months ago

DaliborTrampota commented 9 months ago

Hi, first of all I'd update but its part of another package's dependency. When trying to install that version just till recently it fails with the following error node version 20.8.0

PS D:\GitHub\DiscordBots\InviteTrackerReset> npm i better-sqlite3@7.6.2 npm ERR! code 1 npm ERR! path D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3 npm ERR! command failed npm ERR! command C:\Windows\system32\cmd.exe /d /s /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! copy_builtin_sqlite3 npm ERR! sqlite3.c npm ERR! win_delay_load_hook.cc npm ERR! sqlite3.vcxproj -> D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\Release\\sqlite3.lib npm ERR! better_sqlite3.cpp npm ERR! D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\src\util\macros.lzz(157,21): error C2039: 'AccessorSignature': is not a member of 'v8' [D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\better_sqlite3.vcxproj] npm ERR! C:\Users\dalib\AppData\Local\node-gyp\Cache\20.8.0\include\node\v8.h(71,11): message : see declaration of 'v8' [D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\better_sqlite3.vcxproj] npm ERR! D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\src\util\macros.lzz(157,21): error C3083: 'AccessorSignature': the symbol to the left of a '::' must be a type [D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\better_sqlite3.vcxproj] npm ERR! D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\src\util\macros.lzz(157,40): error C2039: 'New': is not a member of 'v8' [D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\better_sqlite3.vcxproj] npm ERR! C:\Users\dalib\AppData\Local\node-gyp\Cache\20.8.0\include\node\v8.h(71,11): message : see declaration of 'v8' [D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\better_sqlite3.vcxproj] npm ERR! D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\src\util\macros.lzz(157,40): error C3861: 'New': identifier not found [D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\better_sqlite3.vcxproj] npm ERR! D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\src\util\binder.lzz(37,51): error C2039: 'CreationContext': is not a member of 'v8::Object' [D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\better_sqlite3.vcxproj] npm ERR! C:\Users\dalib\AppData\Local\node-gyp\Cache\20.8.0\include\node\v8-value-serializer.h(22,7): message : see declaration of 'v8::Object' [D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\better_sqlite3.vcxproj] npm ERR! test_extension.c npm ERR! win_delay_load_hook.cc npm ERR! Creating library D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\Release\test_extension.lib and object D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\Release\test_extension.exp npm ERR! Generating code npm ERR! Previous IPDB not found, fall back to full compilation. npm ERR! All 3 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. npm ERR! Finished generating code npm ERR! test_extension.vcxproj -> D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3\build\Release\\test_extension.node npm ERR! prebuild-install warn install No prebuilt binaries found (target=20.8.0 runtime=node arch=x64 libc= platform=win32) npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using node-gyp@9.0.0 npm ERR! gyp info using node@20.8.0 | win32 | x64 npm ERR! gyp info find Python using Python version 3.10.6 found at "C:\Users\dalib\AppData\Local\Programs\Python\Python310\python3.exe" npm ERR! gyp info find VS using VS2022 (17.7.34202.233) found at: npm ERR! gyp info find VS "C:\Program Files\Microsoft Visual Studio\2022\Community" npm ERR! gyp info find VS run with --verbose for detailed information npm ERR! gyp info spawn C:\Users\dalib\AppData\Local\Programs\Python\Python310\python3.exe npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args 'C:\\Users\\dalib\\AppData\\Roaming\\npm\\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 'msvs', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args 'D:\\GitHub\\DiscordBots\\InviteTrackerReset\\node_modules\\better-sqlite3\\build\\config.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args 'C:\\Users\\dalib\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args 'C:\\Users\\dalib\\AppData\\Local\\node-gyp\\Cache\\20.8.0\\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=C:\\Users\\dalib\\AppData\\Local\\node-gyp\\Cache\\20.8.0', npm ERR! gyp info spawn args '-Dnode_gyp_dir=C:\\Users\\dalib\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp', npm ERR! gyp info spawn args '-Dnode_lib_file=C:\\\\Users\\\\dalib\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\20.8.0\\\\<(target_arch)\\\\node.lib', npm ERR! gyp info spawn args '-Dmodule_root_dir=D:\\GitHub\\DiscordBots\\InviteTrackerReset\\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 'D:\\GitHub\\DiscordBots\\InviteTrackerReset\\node_modules\\better-sqlite3\\build', npm ERR! gyp info spawn args '-Goutput_dir=.' npm ERR! gyp info spawn args ] npm ERR! gyp info spawn C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args 'build/binding.sln', npm ERR! gyp info spawn args '/clp:Verbosity=minimal', npm ERR! gyp info spawn args '/nologo', npm ERR! gyp info spawn args '/p:Configuration=Release;Platform=x64' npm ERR! gyp info spawn args ] npm ERR! gyp ERR! build error npm ERR! gyp ERR! stack Error:C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1 npm ERR! gyp ERR! stack at ChildProcess.onExit (C:\Users\dalib\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:514:28) npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12) npm ERR! gyp ERR! System Windows_NT 10.0.19045 npm ERR! gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\dalib\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--release" npm ERR! gyp ERR! cwd D:\GitHub\DiscordBots\InviteTrackerReset\node_modules\better-sqlite3 npm ERR! gyp ERR! node -v v20.8.0 npm ERR! gyp ERR! node-gyp -v v9.0.0 npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\dalib\AppData\Local\npm-cache_logs\2023-10-15T10_46_07_169Z-debug-0.log`

seems like there there are invalid includes eg AccessorSignature from v8

Prinzhorn commented 9 months ago

version 7.6.2 node version 20.8.0 seems like there there are invalid includes eg AccessorSignature from v8

7.6.2 (released Jul 16, 2022) does not support Node.js 20 (released Apr 18, 2023).

In the future before opening issues I recommend:

  1. Try with the latest version
  2. Use the search functionality provided by GitHub (https://github.com/search?q=repo%3AWiseLibs%2Fbetter-sqlite3+AccessorSignature&type=issues -> https://github.com/WiseLibs/better-sqlite3/issues/1022)

Edit: I'm aware of

I'd update but its part of another package's dependency

Doesn't change my answer, we can't make 7.6.2 compatible with Node.js 20

DaliborTrampota commented 9 months ago

I wasnt aware it was node version compability issue, downgraded. thanks