julianhille / MuhammaraJS

Muhammara a node module with c/cpp bindings to modify PDF with js for node or electron (based/replacement on/of galkhana/hummusjs)
Other
225 stars 46 forks source link

v5 not working with official node:20 Docker image #422

Open JakobMe opened 5 hours ago

JakobMe commented 5 hours ago

After updating to v5 we are no longer able to start our node backend inside a Docker container using the official node:20 image:

node:internal/modules/cjs/loader:1586
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.31' not found (required by /app/node_modules/muhammara/binding/muhammara.node)
    at Module._extensions..node (node:internal/modules/cjs/loader:1586:18)
    at Module.load (node:internal/modules/cjs/loader:1288:32)
    at Module._load (node:internal/modules/cjs/loader:1104:12)
    at Module.require (node:internal/modules/cjs/loader:1311:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/app/node_modules/muhammara/lib/muhammara.js:6:35)
    at Module._compile (node:internal/modules/cjs/loader:1469:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
    at Module.load (node:internal/modules/cjs/loader:1288:32)
    at Module._load (node:internal/modules/cjs/loader:1104:12) {
  code: 'ERR_DLOPEN_FAILED'
}

Node.js v20.17.0

The official node:20 image is using Debian GNU/Linux 12 (bookworm); libstdc++6 seems to be on the latest available version:

apt-get upgrade libstdc++6
libstdc++6 is already the newest version (12.2.0-14).

But the latest included GLIBC version is GLIBCXX_3.4.30.

julianhille commented 4 hours ago

yes that is indeed an issue i can not really help with or currently see no viable version. Github has removed ubuntu 18.04 as runner and so i had to use 20.04 which comes with the said glibc version.

julianhille commented 4 hours ago

The only thing i can try is starting a debian container inside of the ubuntu runner. But then i need to handle all the necessary required dependencies inside of it.

julianhille commented 4 hours ago

link to issue: https://github.com/julianhille/MuhammaraJS/issues/423