Open
Description
While debugging a sqlite issue on IRC the following was found.
When thelounge is installed (in this case v4.4.2-rc.1) the binary blob that is fetched from upstream is incompatible with CentOS 7
Linux 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
"CentOS Linux 7 (Core)"
[userme@host ~]$ cd ~/lib/node_modules/thelounge/
[userme@host thelounge]$ node -e 'console.log(require("sqlite3"))'
/home/userme/lib/node_modules/thelounge/node_modules/bindings/bindings.js:121
throw e;
^
Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/userme/lib/node_modules/thelounge/node_modules/sqlite3/build/Release/node_sqlite3.node)
at Module._extensions..node (node:internal/modules/cjs/loader:1473:18)
at Module.load (node:internal/modules/cjs/loader:1207:32)
at Module._load (node:internal/modules/cjs/loader:1023:12)
at Module.require (node:internal/modules/cjs/loader:1235:19)
at require (node:internal/modules/helpers:176:18)
at bindings (/home/userme/lib/node_modules/thelounge/node_modules/bindings/bindings.js:112:48)
at Object.<anonymous> (/home/userme/lib/node_modules/thelounge/node_modules/sqlite3/lib/sqlite3-binding.js:1:37)
at Module._compile (node:internal/modules/cjs/loader:1376:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
at Module.load (node:internal/modules/cjs/loader:1207:32) {
code: 'ERR_DLOPEN_FAILED'
}
Node.js v20.11.1
[userme@host thelounge]$
There's a bunch of upstream issues like TryGhost/node-sqlite3#1582
The fix is to rebuild manually:
cd $prefix/node_modules/thelounge/node_modules/sqlite3/
yarn run rebuild
Where $prefix is the install root of TL, differs based on which package manager one uses