Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alpine aarch64/arm64 support #2341

Open
willat8 opened this issue Nov 12, 2024 · 2 comments
Open

Alpine aarch64/arm64 support #2341

willat8 opened this issue Nov 12, 2024 · 2 comments

Comments

@willat8
Copy link

willat8 commented Nov 12, 2024

I notice librdkafka.redist provides Linux arm64 librdkafka.so but not alpine-librdkafka.so. It would be great to get the same for Alpine.

@grietine
Copy link

grietine commented Jan 8, 2025

I notice librdkafka.redist provides Linux arm64 librdkafka.so but not alpine-librdkafka.so. It would be great to get the same for Alpine.

I agree. It would be valuable if this NuGet would support Alpine Arm64.

We are using Alpine image, but with amd64 architecture:
mcr.microsoft.com/dotnet/aspnet:8.0-alpine

We want to migrate to arm64 base architecture and continue using the Alpine image, but I noticed that this NuGet stopped working. Error:
System.DllNotFoundException: Failed to load the librdkafka native library

After investigating I found that there are missing dependencies for librdkafka.so in Alpine as it uses musl instead of glibc:

/app/runtimes/linux-arm64/native # ldd librdkafka.so
        /lib/ld-musl-aarch64.so.1 (0xffff89818000)
        libm.so.6 => /lib/ld-musl-aarch64.so.1 (0xffff89818000)
        libdl.so.2 => /lib/ld-musl-aarch64.so.1 (0xffff89818000)
        libpthread.so.0 => /lib/ld-musl-aarch64.so.1 (0xffff89818000)
        librt.so.1 => /lib/ld-musl-aarch64.so.1 (0xffff89818000)
        libc.so.6 => /lib/ld-musl-aarch64.so.1 (0xffff89818000)
Error relocating librdkafka.so: getcontext: symbol not found
Error relocating librdkafka.so: __getauxval: symbol not found
Error relocating librdkafka.so: makecontext: symbol not found
Error relocating librdkafka.so: setcontext: symbol not found

Switching back to the default Debian based (which has the missing packages) it works on Arm64:
mcr.microsoft.com/dotnet/aspnet:8.0

Alternative way would be to compile the librdkafka.redist by ourselves, but this doesn't seem like a viable solution in the long term.

Is there a plan to support Alpine with Arm64?

@willat8
Copy link
Author

willat8 commented Jan 8, 2025

A workaround I am using is to install the librdkafka alpine package from edge and symlink it to the expected location. Brittle but works for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants