WiseLibs / better-sqlite3

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

Error install on electron 25.1.1 #1023

Closed linonetwo closed 1 year ago

linonetwo commented 1 year ago
✖ Preparing native dependencies: 0 / 1
  › node-gyp failed to rebuild '/Users/linonetwo/Desktop/repo/TiddlyGit-Desktop/node_modules/.pnpm/better-sqlite3@8.4.0/node_modules/better-sqlite3'
◼ Running generateAssets hook

›   TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate
  ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate
  TOUCH Release/obj.target/deps/locate_sqlite3.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
  LIBTOOL-STATIC Release/sqlite3.a
  Usage: /opt/anaconda3/bin/libtool [OPTION]... [MODE-ARG]...
  Try 'libtool --help' for more information.
  libtool:   error: unrecognised option: '-static'
  make: *** [Release/sqlite3.a] Error 1
  rm ba23eeee118cd63e16015df367567cb043fed872.intermediate
  Error: `make` failed with exit code: 2
  at ChildProcess.onExit (/Users/linonetwo/Desktop/repo/TiddlyGit-Desktop/node_modules/.pnpm/node-gyp@9.3.1_bluebird@3.7.2/node_modules/node-gyp/lib/build.js:203:23)
  at ChildProcess.emit (node:events:511:28)
  at ChildProcess._handle.onexit (node:internal/child_process:293:12)

An unhandled rejection has occurred inside Forge:
Error: node-gyp failed to rebuild '/Users/linonetwo/Desktop/repo/TiddlyGit-Desktop/node_modules/.pnpm/better-sqlite3@8.4.0/node_modules/better-sqlite3'
at ChildProcess.<anonymous> (/Users/linonetwo/Desktop/repo/TiddlyGit-Desktop/node_modules/.pnpm/@electron+rebuild@3.2.13_bluebird@3.7.2/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:118:24)
    at ChildProcess.emit (node:events:511:28)
    at ChildProcess._handle.onexit (node:internal/child_process:293:12)
"electron": "25.1.1",
"better-sqlite3": "^8.4.0",

Succeed on Windows11, but failed on MacOS13.4.

linonetwo commented 1 year ago

About the critical part:

Try 'libtool --help' for more information.
  libtool:   error: unrecognised option: '-static'

I tried

% libtool --help
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: unknown option character `-' in: --help
Usage: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-sacLT] [-no_warning_for_no_symbols]
Usage: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -dynamic [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-o output] [-install_name name] [-compatibility_version #] [-current_version #] [-seg1addr 0x#] [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] [-seg_addr_table <filename>] [-seg_addr_table_filename <file_system_path>] [-all_load] [-noall_load]

things in https://github.com/nodejs/node/issues/2341#issuecomment-1579929170 and stackoverflow I can found doesn't work.

linonetwo commented 1 year ago

manually run node_modules/.bin/electron-rebuild -f -w better-sqlite3 works.

https://github.com/nicholas-ochoa/OpenSC2K/issues/33#issuecomment-364652098

linonetwo commented 1 year ago

This happened every time, maybe post-install script need a fix?

KillerCodeMonkey commented 1 year ago

nope just a new release for electron 25 prebuild binaries is missing... https://github.com/WiseLibs/better-sqlite3/pull/1013

mceachen commented 1 year ago

Done. Pull in 8.5.0.