Skip to content

Error relocating /home/user/.claude/downloads/claude-2.1.63: posix_getdents: symbol not found #11

Description

@mmlac

anthropics/claude-code#29559

Roll back claude version until this is fixed.

 > [2/2] RUN set -e &&     GCS_DEFAULT="https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases" &&     INSTALL_SH_URL="https://claude.ai/install.sh" &&     GCS_BUCKET="" &&     if curl -fsSL --head "$GCS_DEFAULT/latest" >/dev/null 2>&1; then         GCS_BUCKET="$GCS_DEFAULT";     else         echo "Hardcoded GCS URL unreachable, discovering from $INSTALL_SH_URL..." >&2;         DISCOVERED=$(curl -fsSL "$INSTALL_SH_URL" 2>/dev/null             | sed -n 's/^GCS_BUCKET="\(.*\)"/\1/p' | head -1) &&         if [ -n "$DISCOVERED" ] && curl -fsSL --head "$DISCOVERED/latest" >/dev/null 2>&1; then             GCS_BUCKET="$DISCOVERED";         fi;     fi &&     if [ -z "$GCS_BUCKET" ]; then         echo "ERROR: Could not resolve Claude Code download URL" >&2; exit 1;     fi &&     echo "Using GCS bucket: $GCS_BUCKET" &&     case "$(uname -m)" in         x86_64|amd64) CLAUDE_ARCH="x64" ;;         aarch64|arm64) CLAUDE_ARCH="arm64" ;;         *) echo "Unsupported architecture: $(uname -m)" >&2; exit 1 ;;     esac &&     CLAUDE_PLATFORM="linux-${CLAUDE_ARCH}-musl" &&     CLAUDE_VERSION=$(curl -fsSL "$GCS_BUCKET/latest") &&     echo "Installing Claude Code v${CLAUDE_VERSION} for ${CLAUDE_PLATFORM}..." &&     MANIFEST=$(curl -fsSL "$GCS_BUCKET/$CLAUDE_VERSION/manifest.json") &&     EXPECTED_CHECKSUM=$(printf '%s' "$MANIFEST" | jq -r ".platforms["$CLAUDE_PLATFORM"].checksum // empty") &&     if [ -z "$EXPECTED_CHECKSUM" ] || ! echo "$EXPECTED_CHECKSUM" | grep -qE '^[a-f0-9]{64}$'; then         echo "ERROR: No valid checksum for $CLAUDE_PLATFORM in manifest" >&2; exit 1;     fi &&     mkdir -p "/home/user/.claude/downloads" &&     BINARY_PATH="/home/user/.claude/downloads/claude-${CLAUDE_VERSION}" &&     curl -fsSL -o "$BINARY_PATH" "$GCS_BUCKET/$CLAUDE_VERSION/$CLAUDE_PLATFORM/claude" &&     ACTUAL_CHECKSUM=$(sha256sum "$BINARY_PATH" | cut -d' ' -f1) &&     if [ "$ACTUAL_CHECKSUM" != "$EXPECTED_CHECKSUM" ]; then         echo "ERROR: Checksum verification failed!" >&2;         echo "  Expected: $EXPECTED_CHECKSUM" >&2;         echo "  Actual:   $ACTUAL_CHECKSUM" >&2;         rm -f "$BINARY_PATH"; exit 1;     fi &&     echo "Checksum verified: $ACTUAL_CHECKSUM" &&     chmod +x "$BINARY_PATH" &&     "$BINARY_PATH" install &&     rm -f "$BINARY_PATH" &&     if [ -d "/home/user/.local/share/claude/versions" ]; then         latest_dir="$(ls -1d "/home/user/.local/share/claude/versions/"* | sort -V | tail -1)";         if [ -x "$latest_dir/bin/claude" ]; then             ln -sf "$latest_dir/bin/claude" "/home/user/.local/bin/claude";         fi;     fi &&     command -v claude >/dev/null &&     echo "Claude Code installed successfully":
0.467 Using GCS bucket: https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases
0.728 Installing Claude Code v2.1.63 for linux-arm64-musl...
6.982 Checksum verified: 324d682cf2ddc38a6d917c2cf1cebcf95fbdf3dea84d00708919fa94645b9290
6.985 Error relocating /home/user/.claude/downloads/claude-2.1.63: posix_getdents: symbol not found
------
Dockerfile:5
--------------------
   4 |     USER user
   5 | >>> RUN set -e && \
   6 | >>>     GCS_DEFAULT="https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases" && \
   7 | >>>     INSTALL_SH_URL="https://claude.ai/install.sh" && \
   8 | >>>     GCS_BUCKET="" && \
   9 | >>>     if curl -fsSL --head "$GCS_DEFAULT/latest" >/dev/null 2>&1; then \
  10 | >>>         GCS_BUCKET="$GCS_DEFAULT"; \
  11 | >>>     else \
  12 | >>>         echo "Hardcoded GCS URL unreachable, discovering from $INSTALL_SH_URL..." >&2; \
  13 | >>>         DISCOVERED=$(curl -fsSL "$INSTALL_SH_URL" 2>/dev/null \
  14 | >>>             | sed -n 's/^GCS_BUCKET="\(.*\)"/\1/p' | head -1) && \
  15 | >>>         if [ -n "$DISCOVERED" ] && curl -fsSL --head "$DISCOVERED/latest" >/dev/null 2>&1; then \
  16 | >>>             GCS_BUCKET="$DISCOVERED"; \
  17 | >>>         fi; \
  18 | >>>     fi && \
  19 | >>>     if [ -z "$GCS_BUCKET" ]; then \
  20 | >>>         echo "ERROR: Could not resolve Claude Code download URL" >&2; exit 1; \
  21 | >>>     fi && \
  22 | >>>     echo "Using GCS bucket: $GCS_BUCKET" && \
  23 | >>>     case "$(uname -m)" in \
  24 | >>>         x86_64|amd64) CLAUDE_ARCH="x64" ;; \
  25 | >>>         aarch64|arm64) CLAUDE_ARCH="arm64" ;; \
  26 | >>>         *) echo "Unsupported architecture: $(uname -m)" >&2; exit 1 ;; \
  27 | >>>     esac && \
  28 | >>>     CLAUDE_PLATFORM="linux-${CLAUDE_ARCH}-musl" && \
  29 | >>>     CLAUDE_VERSION=$(curl -fsSL "$GCS_BUCKET/latest") && \
  30 | >>>     echo "Installing Claude Code v${CLAUDE_VERSION} for ${CLAUDE_PLATFORM}..." && \
  31 | >>>     MANIFEST=$(curl -fsSL "$GCS_BUCKET/$CLAUDE_VERSION/manifest.json") && \
  32 | >>>     EXPECTED_CHECKSUM=$(printf '%s' "$MANIFEST" | jq -r ".platforms[\"$CLAUDE_PLATFORM\"].checksum // empty") && \
  33 | >>>     if [ -z "$EXPECTED_CHECKSUM" ] || ! echo "$EXPECTED_CHECKSUM" | grep -qE '^[a-f0-9]{64}$'; then \
  34 | >>>         echo "ERROR: No valid checksum for $CLAUDE_PLATFORM in manifest" >&2; exit 1; \
  35 | >>>     fi && \
  36 | >>>     mkdir -p "$HOME/.claude/downloads" && \
  37 | >>>     BINARY_PATH="$HOME/.claude/downloads/claude-${CLAUDE_VERSION}" && \
  38 | >>>     curl -fsSL -o "$BINARY_PATH" "$GCS_BUCKET/$CLAUDE_VERSION/$CLAUDE_PLATFORM/claude" && \
  39 | >>>     ACTUAL_CHECKSUM=$(sha256sum "$BINARY_PATH" | cut -d' ' -f1) && \
  40 | >>>     if [ "$ACTUAL_CHECKSUM" != "$EXPECTED_CHECKSUM" ]; then \
  41 | >>>         echo "ERROR: Checksum verification failed!" >&2; \
  42 | >>>         echo "  Expected: $EXPECTED_CHECKSUM" >&2; \
  43 | >>>         echo "  Actual:   $ACTUAL_CHECKSUM" >&2; \
  44 | >>>         rm -f "$BINARY_PATH"; exit 1; \
  45 | >>>     fi && \
  46 | >>>     echo "Checksum verified: $ACTUAL_CHECKSUM" && \
  47 | >>>     chmod +x "$BINARY_PATH" && \
  48 | >>>     "$BINARY_PATH" install && \
  49 | >>>     rm -f "$BINARY_PATH" && \
  50 | >>>     if [ -d "$HOME/.local/share/claude/versions" ]; then \
  51 | >>>         latest_dir="$(ls -1d "$HOME/.local/share/claude/versions/"* | sort -V | tail -1)"; \
  52 | >>>         if [ -x "$latest_dir/bin/claude" ]; then \
  53 | >>>             ln -sf "$latest_dir/bin/claude" "$HOME/.local/bin/claude"; \
  54 | >>>         fi; \
  55 | >>>     fi && \
  56 | >>>     command -v claude >/dev/null && \
  57 | >>>     echo "Claude Code installed successfully"
  58 |     USER root
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c set -e &&     GCS_DEFAULT=\"https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases\" &&     INSTALL_SH_URL=\"https://claude.ai/install.sh\" &&     GCS_BUCKET=\"\" &&     if curl -fsSL --head \"$GCS_DEFAULT/latest\" >/dev/null 2>&1; then         GCS_BUCKET=\"$GCS_DEFAULT\";     else         echo \"Hardcoded GCS URL unreachable, discovering from $INSTALL_SH_URL...\" >&2;         DISCOVERED=$(curl -fsSL \"$INSTALL_SH_URL\" 2>/dev/null             | sed -n 's/^GCS_BUCKET=\"\\(.*\\)\"/\\1/p' | head -1) &&         if [ -n \"$DISCOVERED\" ] && curl -fsSL --head \"$DISCOVERED/latest\" >/dev/null 2>&1; then             GCS_BUCKET=\"$DISCOVERED\";         fi;     fi &&     if [ -z \"$GCS_BUCKET\" ]; then         echo \"ERROR: Could not resolve Claude Code download URL\" >&2; exit 1;     fi &&     echo \"Using GCS bucket: $GCS_BUCKET\" &&     case \"$(uname -m)\" in         x86_64|amd64) CLAUDE_ARCH=\"x64\" ;;         aarch64|arm64) CLAUDE_ARCH=\"arm64\" ;;         *) echo \"Unsupported architecture: $(uname -m)\" >&2; exit 1 ;;     esac &&     CLAUDE_PLATFORM=\"linux-${CLAUDE_ARCH}-musl\" &&     CLAUDE_VERSION=$(curl -fsSL \"$GCS_BUCKET/latest\") &&     echo \"Installing Claude Code v${CLAUDE_VERSION} for ${CLAUDE_PLATFORM}...\" &&     MANIFEST=$(curl -fsSL \"$GCS_BUCKET/$CLAUDE_VERSION/manifest.json\") &&     EXPECTED_CHECKSUM=$(printf '%s' \"$MANIFEST\" | jq -r \".platforms[\\\"$CLAUDE_PLATFORM\\\"].checksum // empty\") &&     if [ -z \"$EXPECTED_CHECKSUM\" ] || ! echo \"$EXPECTED_CHECKSUM\" | grep -qE '^[a-f0-9]{64}$'; then         echo \"ERROR: No valid checksum for $CLAUDE_PLATFORM in manifest\" >&2; exit 1;     fi &&     mkdir -p \"$HOME/.claude/downloads\" &&     BINARY_PATH=\"$HOME/.claude/downloads/claude-${CLAUDE_VERSION}\" &&     curl -fsSL -o \"$BINARY_PATH\" \"$GCS_BUCKET/$CLAUDE_VERSION/$CLAUDE_PLATFORM/claude\" &&     ACTUAL_CHECKSUM=$(sha256sum \"$BINARY_PATH\" | cut -d' ' -f1) &&     if [ \"$ACTUAL_CHECKSUM\" != \"$EXPECTED_CHECKSUM\" ]; then         echo \"ERROR: Checksum verification failed!\" >&2;         echo \"  Expected: $EXPECTED_CHECKSUM\" >&2;         echo \"  Actual:   $ACTUAL_CHECKSUM\" >&2;         rm -f \"$BINARY_PATH\"; exit 1;     fi &&     echo \"Checksum verified: $ACTUAL_CHECKSUM\" &&     chmod +x \"$BINARY_PATH\" &&     \"$BINARY_PATH\" install &&     rm -f \"$BINARY_PATH\" &&     if [ -d \"$HOME/.local/share/claude/versions\" ]; then         latest_dir=\"$(ls -1d \"$HOME/.local/share/claude/versions/\"* | sort -V | tail -1)\";         if [ -x \"$latest_dir/bin/claude\" ]; then             ln -sf \"$latest_dir/bin/claude\" \"$HOME/.local/bin/claude\";         fi;     fi &&     command -v claude >/dev/null &&     echo \"Claude Code installed successfully\"" did not complete successfully: exit code: 127
[ERROR] Failed to build images: failed to build claude core image: exit status 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions