Open wkirby opened 4 hours ago
Hi! I think a Rust compiler might be missing there. I am going to take a look at magnus docs in this regard, maybe I've missed something.
I'd be happy to build aarch64-linux-musl
for Ruby as a part of the release artifact set.
@Stranger6667 thanks for the fast response!
Tried isntalling clang
& lld
, then installing rust
itself. cargo --version
now outputs:
cargo 1.82.0 (8f40fc59f 2024-08-21)
Unfortunately, this still results in the same error message as above.
Here's a minimal Dockerfile which allows a repro of the issue:
FROM public.ecr.aws/docker/library/ruby:3.3-alpine3.19 AS runner
ENV APP_HOME="/app"
ENV BUNDLE_BIN="/bundle/bin"
ENV DEBIAN_FRONTEND="noninteractive"
ENV BUNDLE_BUILD__SASSC="--disable-march-tune-native"
ENV BUNDLE_JOBS="5"
ENV BUNDLE_PATH="/bundle"
ENV GEM_HOME="/bundle"
ENV BUNDLE_GEMFILE="$APP_HOME/Gemfile"
ENV PATH="${BUNDLE_BIN}:${PATH}"
WORKDIR $APP_HOME
# Update Gems first...only re-do this when bundler version changes.
# If we need to force a gem update we'll have to `--no-cache` or add a file we can copy in
RUN gem update --system && gem install bundler:2.5.21
RUN apk add --update --no-cache \
alpine-sdk \
curl \
bash \
gcompat
If you save that to a directory as Dockerfile
, then you should be able to run:
docker run -it $(docker build -q .) bash
That should drop you into the container in a minimal reproduction of my environment.
Then
gem install css_inline
And observe the error I'm getting.
Ultimately, though, it shouldn't really matter. If you're able to build/distribute the binaries for aarch64-linux-musl
the whole thing is probably moot.
I'm running a ruby alpine docker container (
ruby:3.3-alpine3.19
). I have installed the packagesalpine-sdk
,ruby-dev
andgcompat
, which are usually enough to build any gem that does not have pre-built binaries.Running
gem install css_inline
results in the following output:Any guidance on missing dependencies would be appreciated, as would prebuilt binaries
aarch64-linux-musl
.