arm64 on Linux

Options
Anton
Anton Member Posts: 29 ✭✭

Hi,

I'm exploring migration to arm64 architecture atm, but as soon as I publish my app for linux-musl-arm64 architecture and try to run it in Docker container based on Alpine 3.1 memory usage goes to 100% and container being killed by runtime. When switched back to x64 same code runs fine.

Is Alpine supported at all for arm64 architecture and if yes do I maybe need to install some additional packages?

My setup is:

  • .Net 8
  • SolaceSystems.Solclient.Messaging version 10.24.0
  • Base Docker image is Alpine 3.19

Tagged:

Best Answer

  • TomF
    TomF Member, Employee Posts: 408 Solace Employee
    #2 Answer ✓
    Options

    We support Alpine on x86.

    We support Linux with glibc on Arm.

    We do not support Alpine on Arm.

Answers

  • Anton
    Anton Member Posts: 29 ✭✭
    edited June 10 #3
    Options

    In my logs the last thing I see before container is being killed is that Solace session is being created.

    When running same image locally on Mac, it is failing with "Segmentation fault" error.

  • TomF
    TomF Member, Employee Posts: 408 Solace Employee
    Options

    Hi @Anton,

    Currently we support Alpine on X86, or ARM… but not both. If you have a look at the supported environments page, you'll see

    Linux (x86/x86_64) variants that are in active support and also have security update support.

    • Compatible with glibc 2.17 and later (desktop/server) and musl-c 1.2 (Alpine Linux)
    • Linux (ARM) variants that are in active support and also have security update support.

    What you should see:

    • Linux (ARM) variants that are in active support and also have security update support.
      Compatible with glibc 2.17 and later (desktop/server)

    Sorry about that. I'll have the docs updated. I don't have a date for musl-c on ARM support, unfortunately.

  • Anton
    Anton Member Posts: 29 ✭✭
    Options

    Hi @TomF .

    Sorry, but I don't get it. First you say that Alpine on ARM is supported but later you say it is not. So is it or not? And what do you mean by "Alpine on x86 or ARM but not both"?

    Let me maybe re-iterate my scenario:

    1. Docker image built with my app for x64 architecture - works fine.
    2. Docker image build from the same source but for arm64 - fails on a session creation.

    Base images are the Alpine-3.19, it's just in the first case it's a x64 image and in the second it's arm64 one.

  • TomF
    TomF Member, Employee Posts: 408 Solace Employee
    #6 Answer ✓
    Options

    We support Alpine on x86.

    We support Linux with glibc on Arm.

    We do not support Alpine on Arm.

  • Anton
    Anton Member Posts: 29 ✭✭
    Options

    Ok, now it makes sense. Thanks!