Skip to content

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

@mmlac

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
    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