sqlite3 installs but fails on require/import in mingw64
woodbri opened this issue · 2 comments
woodbri commented
Issue Summary
I am unable to use sqlite3 in node. I've tried multiple minimal scripts, but have narrow it down to a simple cli examples below. I get the same results using sqlite3 version 5.1.5, 5.1.6, and 5.1.7
Steps to Reproduce
$ npm -v
10.5.0
$ npm install sqlite3@5.1.7
$ node -e 'require("sqlite3")'
node:internal/modules/cjs/loader:1464
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: A dynamic link library (DLL) initialization routine failed.
\\?\C:\msys64\home\woodbri\work\test-sqlite3\node_modules\sqlite3\lib\binding\napi-v6-win32-unknown-
x64\node_sqlite3.node
at Module._extensions..node (node:internal/modules/cjs/loader:1464:18)
at Module.load (node:internal/modules/cjs/loader:1205:32)
at Module._load (node:internal/modules/cjs/loader:1021:12)
at Module.require (node:internal/modules/cjs/loader:1230:19)
at require (node:internal/modules/helpers:179:18)
at Object.<anonymous> (C:\msys64\home\woodbri\work\test-sqlite3\node_modules\sqlite3\lib\sqlite3
-binding.js:4:17)
at Module._compile (node:internal/modules/cjs/loader:1368:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1426:10)
at Module.load (node:internal/modules/cjs/loader:1205:32)
at Module._load (node:internal/modules/cjs/loader:1021:12) {
code: 'ERR_DLOPEN_FAILED'
}
Node.js v21.7.2
Version
5.1.5, 5.1.6, 5.1.7
Node.js Version
v21.7.2
How did you install the library?
MINGW64_NT-10.0-19045 DESKTOP-MD7Q6H6 3.5.3.x86_64 2024-05-06 06:45 UTC x86_64 Msys
woodbri commented
Here is the same problem using --import=sqlite3
$ node --import=sqlite3
node:internal/modules/cjs/loader:1464
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: A dynamic link library (DLL) initialization routine failed.
\\?\C:\msys64\home\woodbri\work\test-sqlite3\node_modules\sqlite3\lib\binding\napi-v6-win32-unknown-
x64\node_sqlite3.node
at Module._extensions..node (node:internal/modules/cjs/loader:1464:18)
at Module.load (node:internal/modules/cjs/loader:1205:32)
at Module._load (node:internal/modules/cjs/loader:1021:12)
at Module.require (node:internal/modules/cjs/loader:1230:19)
at require (node:internal/modules/helpers:179:18)
at Object.<anonymous> (C:\msys64\home\woodbri\work\test-sqlite3\node_modules\sqlite3\lib\sqlite3
-binding.js:4:17)
at Module._compile (node:internal/modules/cjs/loader:1368:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1426:10)
at Module.load (node:internal/modules/cjs/loader:1205:32)
at Module._load (node:internal/modules/cjs/loader:1021:12) {
code: 'ERR_DLOPEN_FAILED'
}
Node.js v21.7.2
woodbri commented
I was able to change this behavior by installing sqlite3 with:
pacman -S mingw-w64-x86_64-sqlite3
resulting in no longer getting the DLL error above but a different error as follows:
$ node inspect test2
< Debugger listening on ws://127.0.0.1:9229/cb31ec15-bf59-4346-bcd1-e4b56cf54276
< For help, see: https://nodejs.org/en/docs/inspector
<
connecting to 127.0.0.1:9229 ... ok
Break on start in test2:1
> 1 #!/usr/bin/env node
2
3 import sqlite3 from 'sqlite3';
debug> n
debug> There was an internal error in Node.js. Please report this bug.
read ECONNRESET
Error: read ECONNRESET
at TCP.onStreamRead (node:internal/stream_base_commons:217:20)
at TCP.callbackTrampoline (node:internal/async_hooks:130:17)
node:events:497
throw er; // Unhandled 'error' event
^
Error: kill EPERM
at ChildProcess.kill (node:internal/child_process:512:26)
at process.handleUnexpectedError (node:internal/debugger/inspect:360:42)
at process.emit (node:events:531:35)
at process.emit (node:domain:488:12)
at process._fatalException (node:internal/process/execution:178:25)
Emitted 'error' event on ChildProcess instance at:
at ChildProcess.kill (node:internal/child_process:512:12)
at process.handleUnexpectedError (node:internal/debugger/inspect:360:42)
[... lines matching original stack trace ...]
at process._fatalException (node:internal/process/execution:178:25) {
errno: -4048,
code: 'EPERM',
syscall: 'kill'
}
Node.js v21.7.2