Skip to content

[BUG] MeshMonitor-Desktop-4.2.0-x64.dmg bundles better_sqlite3.node as arm64 instead of x86_64 #2901

Description

@ltitus210

Description of bug
MeshMonitor-Desktop-4.2.0-x64.dmg (and other older builds) bundles better_sqlite3.node as arm64, but the x64 app needs x86_64.

To Reproduce
Steps to reproduce the behavior:

  1. Preform a clean install via the dmg file.
  2. Run the application.
  3. Enter an IP and click "Start MeshMonitor".
  4. Application hangs showing "Starting...".
  5. Open the logs folder and view server-stderr.log.

Output of server-stderr.log

[ERROR] ❌ DATABASE OPEN ERROR ❌
[ERROR] ═══════════════════════════════════════════════════════════
[ERROR] Failed to open SQLite database at: /Users/ltitus/Library/Application Support/MeshMonitor/meshmonitor.db
[ERROR] 
[ERROR] Error: dlopen(/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node, 0x0001): tried: '/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h' or 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node' (no such file), '/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h' or 'x86_64'))
[ERROR] Error code: ERR_DLOPEN_FAILED
node:internal/modules/cjs/loader:1920
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: dlopen(/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node, 0x0001): tried: '/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h' or 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node' (no such file), '/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h' or 'x86_64'))
    at Object..node (node:internal/modules/cjs/loader:1920:18)
    at Module.load (node:internal/modules/cjs/loader:1481:32)
    at Module._load (node:internal/modules/cjs/loader:1300:12)
    at TracingChannel.traceSync (node:diagnostics_channel:328:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)
    at Module.require (node:internal/modules/cjs/loader:1504:12)
    at require (node:internal/modules/helpers:152:16)
    at bindings (/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/bindings/bindings.js:112:48)
    at new Database (/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/lib/database.js:48:64)
    at attemptOpen (file:///Applications/MeshMonitor.app/Contents/Resources/dist/services/database.js:2903:24) {
  code: 'ERR_DLOPEN_FAILED'
}

Node.js v24.12.0

Verification of my computer architecture vs better_sqlite3.node architecture

My CPU's architecture:

ltitus@Larrys-iHack-Pro-15 bind % uname -a
Darwin Larrys-iHack-Pro-15.local 24.6.0 Darwin Kernel Version 24.6.0: Fri Feb 27 19:33:24 PST 2026; root:xnu-11417.140.69.709.8~1/RELEASE_X86_64 x86_64

Architecture of main app binary:

ltitus@Larrys-iHack-Pro-15 bind % file "/Applications/MeshMonitor.app/Contents/MacOS/meshmonitor-desktop" 
/Applications/MeshMonitor.app/Contents/MacOS/meshmonitor-desktop: Mach-O 64-bit executable x86_64

Architecture of bundled better_sqlite3.node:

ltitus@Larrys-iHack-Pro-15 bind % file "/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node"
/Applications/MeshMonitor.app/Contents/Resources/dist/node_modules/better-sqlite3/build/Release/better_sqlite3.node: Mach-O 64-bit bundle arm64

Expected behavior
Bundled better_sqlite3.node in MeshMonitor-Desktop-4.2.0-x64.dmg should be built for x86_64.

Environment:

  • Host OS: macOS 15.7.5
  • CPU: Intel 3.42 GHz Intel(R) Core(TM) i7-13700K
  • Deployment type: Mac App
  • Database backend: SQLite
  • Node type: Heltec V4
  • Node Connection Type: Wifi

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions