Report this

What is the reason for this report?

Unable to deploy with dokku due to GLIBC version not found

Posted on October 8, 2021

From following the example, on step 4, deploy tag I get the following error:

=====> api web container output:
       internal/modules/cjs/loader.js:1144
         return process.dlopen(module, path.toNamespacedPath(filename));
                        ^
       Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /usr/src/app/node_modules/argon2/lib/binding/napi-v3/argon2.node)
           at Object.Module._extensions..node (internal/modules/cjs/loader.js:1144:18)
           at Module.load (internal/modules/cjs/loader.js:950:32)
           at Function.Module._load (internal/modules/cjs/loader.js:790:12)
           at Module.require (internal/modules/cjs/loader.js:974:19)
           at require (internal/modules/cjs/helpers.js:93:18)
           at Object.<anonymous> (/usr/src/app/node_modules/argon2/argon2.js:9:56)
           at Module._compile (internal/modules/cjs/loader.js:1085:14)
           at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
           at Module.load (internal/modules/cjs/loader.js:950:32)
           at Function.Module._load (internal/modules/cjs/loader.js:790:12) {
         code: 'ERR_DLOPEN_FAILED'
       }

The image I’m using is Ubuntu Dokku 0.21.4.

Anyone have any ideas?

Thanks



This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Heya,

The argon2 module requires GLIBC version 2.25 or higher, but your Ubuntu Dokku 0.21.4 image is using an older version. To resolve this issue, you can try the following:

  • Update to Ubuntu Dokku 0.22 or higher. Newer images include updated versions of system libraries, including GLIBC.

  • Install the necessary build dependencies before installing Node.js modules. This includes tools like build-essential and libtool. Add the following lines to your Dockerfile:

  1. RUN apt-get update && \ apt-get install -y build-essential libtool
  • Use a different Node.js package for password hashing, or update the version of argon2 to one that is compatible with the GLIBC version in your Ubuntu Dokku image.

  • Use a different base image that includes a newer version of GLIBC. For example, you could try an image based on a more recent version of Ubuntu or another distribution that meets the GLIBC version requirement.

Remember to rebuild your Docker image after making any changes.

I hope this is helpful!

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.