conda-forge / miniforge

A conda-forge distribution.
https://conda-forge.org/miniforge
Other
6.53k stars 331 forks source link

virtual_specs GLIBC alpine failure #645

Open drewgilliam opened 2 months ago

drewgilliam commented 2 months ago

Solution to issue cannot be found in the documentation.

Issue

The introduction of virtual_specs in PR #626 causes an installation failure on alpine images as described in https://github.com/conda/constructor/issues/850. TLDR; the conda/constructor GLIBC check for alpine images failed to locate the installed GLIBC version.

This should be fixed in https://github.com/conda/constructor/pull/856.

Could you please issue a new release using the latest conda/constructor GLIBC version check?

Installed packages

n/a (this issue occurs during install)

Environment info

# The issue can be replicated with the following docker
# - version 24.7.1-1 fails due to a GLIBC check (even though GLIBC is installed)
# - reverting to version 24.5.0-0 is successful
FROM docker:20.10.16

RUN apk del libc6-compat; \
    apk --no-cache add ca-certificates curl findutils; \
    curl -fsSLo /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub; \
    curl -fsSLo /tmp/glibc.apk https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk; \
    apk add /tmp/glibc.apk;

ENV MINIFORGE_VERSION=24.7.1-1
# ENV MINIFORGE_VERSION=24.5.0-0 
RUN curl -fsSLo /tmp/miniforge.sh "https://github.com/conda-forge/miniforge/releases/download/${MINIFORGE_VERSION}/Miniforge3-${MINIFORGE_VERSION}-Linux-x86_64.sh"

RUN sh /tmp/miniforge.sh -b -p /tmp/conda
RUN /tmp/conda/bin/conda info
hmaarrfk commented 1 month ago

I'm not too knowledgeable with alpine.

Have you tried: https://github.com/conda-forge/miniforge/issues/219

mattbucci commented 2 weeks ago

I'm running into this issue still in 24.9.0

It looks like there hasn't been a new tagged release for constructor since august.

Once 3.9.4 is tagged and released + this is merged into miniforge and released this bug should be closed.

Until then my hack is to run the following (make sure to replace system_glibc_version and int_system_glibc_version with your glibc version

  sed -i \
      -e 's|system_glibc_version=.*|system_glibc_version="2.39.0"|' \
      -e 's|int_min_glibc_version=.*|int_min_glibc_version="02170"|' \
      -e 's|int_system_glibc_version=.*|int_system_glibc_version="02390"|' "Miniforge3-$(uname)-$(uname -m).sh"
hmaarrfk commented 1 week ago

Unfortunately my latest release got caught in our scheduled brownouts..... grrr

but maybe you can try one of the pre-releases: https://github.com/conda-forge/miniforge/releases/tag/24.9.2-0