Skip to content

precompiled releases include debug symbols #124

@dbernheisel

Description

@dbernheisel

binaries shipped in github releases contain debug symbols. Stripping them would reduce download and Docker image sizes with no impact on functionality.

Reproduction

FROM hexpm/elixir:1.19.5-erlang-28.3-debian-trixie-20260112-slim

RUN apt-get update -qq \
    && apt-get install -y -qq --no-install-recommends curl file binutils ca-certificates > /dev/null 2>&1

RUN mkdir -p /tmp/xla && cd /tmp/xla \
    && curl -sL -o xla.tar.gz \
       "https://github.com/elixir-nx/xla/releases/download/v0.9.1/xla_extension-0.9.1-x86_64-linux-gnu-cpu.tar.gz" \
    && tar xzf xla.tar.gz

RUN file /tmp/xla/xla_extension/lib/libxla_extension.so
# ELF 64-bit LSB shared object, x86-64, ..., not stripped
RUN strip /tmp/xla/xla_extension/lib/libxla_extension.so
RUN file /tmp/xla/xla_extension/lib/libxla_extension.so

the after is with strip libxla_extension.so

x86_64-linux-gnu-cpu (v0.9.1):

  • before: 423 MB
  • after: 324 MB
  • saved: ~100 MB (24%)

aarch64-linux-gnu-cuda12 (v0.9.1):

  • before: 470 MB
  • after: 349 MB
  • saved: ~121 MB (26%)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions