-
Notifications
You must be signed in to change notification settings - Fork 5.9k
Closed
Description
Summary
The denoland/deno:alpine-2.6.8 Docker image ships glibc-compiled libraries in /usr/local/lib/ that conflict with Alpine's musl-based system tools. This breaks common operations like apk add.
Quick Reproduction (no build required)
# 2.6.7 works:
docker run --rm denoland/deno:alpine-2.6.7 apk add --no-cache curl
# SUCCESS
# 2.6.8 fails:
docker run --rm denoland/deno:alpine-2.6.8 apk add --no-cache curl
# Error relocating /usr/local/lib/libz.so.1: __snprintf_chk: symbol not found
# Error relocating /usr/local/lib/libssl.so.3: __memcpy_chk: symbol not found
# ... etcRoot Cause
The 2.6.8 Alpine image added ~270 new files to /usr/local/lib/, including glibc-compiled versions of common libraries:
# 2.6.7: 20 files in /usr/local/lib/
docker run --rm denoland/deno:alpine-2.6.7 sh -c "ls /usr/local/lib/ | wc -l"
# 20
# 2.6.8: 289 files in /usr/local/lib/
docker run --rm denoland/deno:alpine-2.6.8 sh -c "ls /usr/local/lib/ | wc -l"
# 289The problematic libraries added in 2.6.8:
libcrypto.so.3libssl.so.3libz.so.1libzstd.so.1
These are glibc builds that expect symbols like __snprintf_chk, __memcpy_chk, makecontext, etc. which don't exist in Alpine's musl libc.
Impact
Any Dockerfile that:
- Uses
FROM denoland/deno:alpine-2.6.8 - Runs
apk addto install additional packages
...will fail with library relocation errors.
Workaround
Remove the conflicting libraries before running apk:
FROM denoland/deno:alpine-2.6.8
RUN rm -rf /usr/local/lib/*.so* && \
apk add --no-cache curlOr revert to 2.6.7:
FROM denoland/deno:alpine-2.6.7Environment
- Docker: any recent version
- Host: tested on macOS arm64 and Linux amd64
- Affected image:
denoland/deno:alpine-2.6.8 - Working image:
denoland/deno:alpine-2.6.7
Minimal Dockerfile PoC
# Minimal reproduction: glibc/musl conflict in denoland/deno:alpine-2.6.8
#
# Quick test (no build needed):
# docker run --rm denoland/deno:alpine-2.6.8 apk add --no-cache curl
#
# Or build this file:
# docker build -t deno-alpine-bug .
# Works: FROM denoland/deno:alpine-2.6.7
# Fails: FROM denoland/deno:alpine-2.6.8
FROM denoland/deno:alpine-2.6.8
# This fails - apk tries to load glibc libs from /usr/local/lib/
RUN apk add --no-cache curlReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels