Skip to content

Undefined symbol on node 20 with nix #1295

@irisjae

Description

@irisjae

I was trying this library out in the REPL as it looked promising, but I seem to have run into some problem with the prebuilt stuff. For what it's worth, while better-sqlite3 doesn't work, sqlite3 seems to work for me.

I'm on node v20.5.0 packaged with Nix (using node2nix), and the machine is a NixOS VM on M1 (aarch64).

> var db = require('better-sqlite3')('foobar.db')                                                                                                                                                            
Uncaught:                                                                                                                                                                                                    
Error: /nix/store/g9168fk4d0ckk036xxz2ca3kq3ay7wdy-node-dependencies-custom-node-modules/lib/node_modules/bettersqlite3/build/Release/better_sqlite3.node: undefined symbol: _ZN2v88internal20CanHaveInternalFieldEi
    at Module._extensions..node (node:internal/modules/cjs/loader:1319:18)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Module.require (node:internal/modules/cjs/loader:1115:19)
    at require (node:internal/modules/helpers:119:18)
    at bindings (/nix/store/g9168fk4d0ckk036xxz2ca3kq3ay7wdy-node-dependencies-custom-node-modules/lib/node_modules/bindings/bindings.js:112:48)
    at new Database (/nix/store/g9168fk4d0ckk036xxz2ca3kq3ay7wdy-node-dependencies-custom-node-modules/lib/node_modules/better-sqlite3/lib/database.js:48:64)
    at Database (/nix/store/g9168fk4d0ckk036xxz2ca3kq3ay7wdy-node-dependencies-custom-node-modules/lib/node_modules/better-sqlite3/lib/database.js:11:10) {
  code: 'ERR_DLOPEN_FAILED'
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions