GLIBC 2.24 on Debian 9 is too old for some of my node.js dependencies. Any solutions

Allen Sizemore 1 Reputation point
2022-01-28T20:16:48.013+00:00

Good afternoon!

I have a NodeJS application that is making use of Sqlite3. When deploying, I discovered that Sqlite3 needs GLIBC 2.29. The App Service container OS is Debian 9 and it looks like the version of GLIBC installed is 2.24.

If this were a VM that would be persisted between deployments, it would be an easy fix to just install the correct version and call it good.

Is there any way to get the container that is running my app to use something newer than Debian 9 where GLIBC 2.29 is the default installed version?

Alternatively, is there any way to force the Sqlite3 npm package to just use GLIBC 2.24?

Thanks in advance!

Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
6,909 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Andriy Bilous 10,976 Reputation points MVP
    2022-01-31T12:57:28.487+00:00

    I suppose you are using Azure App Service Linux.
    You are right App Service container OS is Debian 9 and it has installed version of GLIBC 2.24.
    Unfortunately you cannot customize Azure App Service Docker image, but you can use your own custom image with default GLIBC 2.31 or install any version of GLIBC.
    https://learn.microsoft.com/en-us/azure/app-service/quickstart-custom-container?tabs=dotnet&pivots=container-linux

    Docker image node:fermium-bullseye has GLIBC 2.31 installed by default
    https://hub.docker.com/_/node

    Docker image ubuntu:20.04 has GLIBC 2.31 installed by default
    https://packages.ubuntu.com/focal/glibc-doc.

    Docker image debian:11 has GLIBC 2.31 installed by default
    https://packages.debian.org/source/stable/glibc

    Dockerfile example:

    FROM node:fermium-bullseye  
      
    ENV HOST 0.0.0.0  
    ENV PORT 8080  
    EXPOSE 8080  
      
    ENTRYPOINT ["pm2", "start", "--no-daemon", "/opt/startup/default-static-site.js"]  
    
    0 comments No comments