venkatdevex

venkatdevex

Elixir release fails due to GLIBC not found

I am deploying an app with GitHub actions, this fails due to GLIBC version

home/app_user/_build/staging/rel/app/erts-13.2.2.12/bin/beam.smp: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /home/app_user/_build/staging/rel/app/erts-13.2.2.12/bin/beam.smp)

as I checked my image ldd --version it has 2.39 but Erlang expects 2.38, I did try downgrading this to 2.38, but that didn’t help.

here is yml I used to downgrade

name: Elixir CI staging

on:
  push:
    branches: [ main, master, release ]

jobs:
  build:
    name: Build and Deploy
    runs-on: ubuntu-latest
    env:
      MIX_ENV: production

    steps:
      - name: Checkout repo
        uses: actions/checkout@v3
      - name: SSH Agent
        uses: webfactory/ssh-agent@v0.7.0
      - name: Setup elixir
        uses: erlef/setup-beam@v1
        with:
          otp-version: 25.0
          elixir-version: 1.16.0
      - name: Restore dependencies cache
        uses: actions/cache@v3
        with:
          path: |
            deps
            _build
          key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
          restore-keys: ${{ runner.os }}-mix-
      - uses: actions/cache@v3
        with:
          path: |
            assets/node_modules
          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.os }}-node-
      - name: Install GLIBC 2.38
        run: |
          sudo apt-get update
          sudo apt-get install -y wget build-essential
          sudo apt-get install gcc-10 g++-10
          export CC=gcc-10
          export CXX=g++-10
          wget http://ftp.gnu.org/gnu/libc/glibc-2.38.tar.gz
          tar -xvzf glibc-2.38.tar.gz
          cd glibc-2.38
          mkdir build
          cd build
          ../configure --prefix=/opt/glibc-2.38 CFLAGS="-O2 -Wno-error"
          make -j$(nproc)
          sudo make install
          sudo ldconfig
          export LD_LIBRARY_PATH=/opt/glibc-2.38/lib:$LD_LIBRARY_PATH
      - name: Verify GLIBC version
        run: ldd --version
      - name: Install mix dependecies
        run: mix deps.get
      - name: Install node dependencies
        run: npm install --prefix ./assets --legacy-peer-deps
      - name: Deploy assets
        run: npm run deploy --prefix assets
      - name: Digest assets
        run: mix phx.digest
      - name: Create Release
        run: mix release --overwrite
      - name: Verify GLIBC version
        run: ldd --version

does anyone has faced this issue ??

First Post!

karlosmid

karlosmid

Hi, github actions runner was updated to ubuntu 24.04.
Check your Dockerfile ubuntu version and put that version in runs-on instead of ubuntu-latest.

Where Next?

Popular in Questions Top

siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 29377 241
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

We're in Beta

About us Mission Statement