Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build/cmd/release: ARMv7 binaries are not available on storage.googleapis.com #38256

Closed
giacomovalenti opened this issue Apr 5, 2020 · 8 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Milestone

Comments

@giacomovalenti
Copy link

ARMv7 isn't anymore available from downloads

What version of Go are you using (go version)?

$ go version

Does this issue reproduce with the latest release?

What operating system and processor architecture are you using (go env)?

go env Output
$ go env

What did you do?

What did you expect to see?

What did you see instead?

@ALTree
Copy link
Member

ALTree commented Apr 5, 2020

Hi,

from downloads

Where? Please link the page you're looking at.

anymore

When did you believe this changed?

Looking at recent and old releases at https://golang.org/dl/ we always had two for linux/arm:

  • linux-arm64.tar.gz | ARMv8
  • linux-armv6l.tar.gz | ARMv6

And these are still present in the latest releases.

@ALTree ALTree added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Apr 5, 2020
@giacomovalenti
Copy link
Author

giacomovalenti commented Apr 5, 2020

until yesteday i was able to download https://storage.googleapis.com/golang/go1.11.13.linux-armv7l.tar.gz.
You wrote about armv8 and armv6. where is armv7l?
Please help I need it

I want to install it on raspberry armv7

@ALTree ALTree changed the title ARMv7 isn't anymore available from downloads all: ARMv7 binaries no longer available on storage.googleapis.com Apr 5, 2020
@ALTree ALTree added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. and removed WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. labels Apr 5, 2020
@ALTree
Copy link
Member

ALTree commented Apr 5, 2020

I'm not sure you're supposed to access these storage.googleapi.com urls directly and if we guarantee any kind of availability on binaries you find there, but cc @dmitshur for investigation.

@giacomovalenti
Copy link
Author

giacomovalenti commented Apr 5, 2020

I was using it since long time ago ; can you tell me what i can do to obtain the same results? i was able to install go using this scripts

#!/bin/bash

set -e

VERSION="1.14"

[ -z "$GOROOT" ] && GOROOT="$HOME/.go"
[ -z "$GOPATH" ] && GOPATH="$HOME/go"

OS="$(uname -s)"
ARCH="$(uname -m)"

case $OS in
    "Linux")
        case $ARCH in
        "x86_64")
            ARCH=amd64
            ;;
        "armv6")
            ARCH=armv6l
            ;;
        "armv8")
            ARCH=arm64
            ;;
        .*386.*)
            ARCH=386
            ;;
        esac
        PLATFORM="linux-$ARCH"
    ;;
    "Darwin")
        PLATFORM="darwin-amd64"
    ;;
esac

print_help() {
    echo "Usage: bash goinstall.sh OPTIONS"
    echo -e "\nOPTIONS:"
    echo -e "  --remove\tRemove currently installed version"
    echo -e "  --version\tSpecify a version number to install"
}

if [ -n "`$SHELL -c 'echo $ZSH_VERSION'`" ]; then
    shell_profile="zshrc"
elif [ -n "`$SHELL -c 'echo $BASH_VERSION'`" ]; then
    shell_profile="bashrc"
fi

if [ "$1" == "--remove" ]; then
    rm -rf "$GOROOT"
    if [ "$OS" == "Darwin" ]; then
        sed -i "" '/# GoLang/d' "$HOME/.${shell_profile}"
        sed -i "" '/export GOROOT/d' "$HOME/.${shell_profile}"
        sed -i "" '/$GOROOT\/bin/d' "$HOME/.${shell_profile}"
        sed -i "" '/export GOPATH/d' "$HOME/.${shell_profile}"
        sed -i "" '/$GOPATH\/bin/d' "$HOME/.${shell_profile}"
    else
        sed -i '/# GoLang/d' "$HOME/.${shell_profile}"
        sed -i '/export GOROOT/d' "$HOME/.${shell_profile}"
        sed -i '/$GOROOT\/bin/d' "$HOME/.${shell_profile}"
        sed -i '/export GOPATH/d' "$HOME/.${shell_profile}"
        sed -i '/$GOPATH\/bin/d' "$HOME/.${shell_profile}"
    fi
    echo "Go removed."
    exit 0
elif [ "$1" == "--help" ]; then
    print_help
    exit 0
elif [ "$1" == "--version" ]; then
    if [ -z "$2" ]; then # Check if --version has a second positional parameter
        echo "Please provide a version number for: $1"
    else
        VERSION=$2
    fi
elif [ ! -z "$1" ]; then
    echo "Unrecognized option: $1"
    exit 1
fi

if [ -d "$GOROOT" ]; then
    echo "The Go install directory ($GOROOT) already exists. Exiting."
    exit 1
fi

PACKAGE_NAME="go$VERSION.$PLATFORM.tar.gz"

echo "Downloading $PACKAGE_NAME ..."
if hash wget 2>/dev/null; then
    wget https://storage.googleapis.com/golang/$PACKAGE_NAME -O /tmp/go.tar.gz
else
    curl -o /tmp/go.tar.gz https://storage.googleapis.com/golang/$PACKAGE_NAME
fi

if [ $? -ne 0 ]; then
    echo "Download failed! Exiting."
    exit 1
fi

echo "Extracting File..."
mkdir -p "$GOROOT"
tar -C "$GOROOT" --strip-components=1 -xzf /tmp/go.tar.gz
touch "$HOME/.${shell_profile}"
{
    echo '# GoLang'
    echo "export GOROOT=${GOROOT}"
    echo 'export PATH=$GOROOT/bin:$PATH'
    echo "export GOPATH=$GOPATH"
    echo 'export PATH=$GOPATH/bin:$PATH'
} >> "$HOME/.${shell_profile}"

mkdir -p $GOPATH/{src,pkg,bin}
echo -e "\nGo $VERSION was installed into $GOROOT.\nMake sure to relogin into your shell or run:"
echo -e "\n\tsource $HOME/.${shell_profile}\n\nto update your environment variables."
echo "Tip: Opening a new terminal window usually just works. :)"
rm -f /tmp/go.tar.gz

@ianlancetaylor
Copy link
Contributor

CC @dmitshur @andybons

@andybons
Copy link
Member

andybons commented Apr 6, 2020

Looking...

@andybons
Copy link
Member

andybons commented Apr 6, 2020

@giacomovalenti we never had armv7l uploaded to the golang storage bucket nor https://golang.org/dl. We chose armv6; for maximum compatibility with all raspberry pi models (#13669). The script you posted even specifies armv6l as the desired architecture.

https://dl.google.com/go/ is the better place to download these, and mirrors https://storage.googleapis.com/golang/, so I’d alter your script to use that instead.

https://dl.google.com/go/go1.14.1.linux-armv6l.tar.gz should work on all 32-bit raspberry pi models.

@andybons andybons added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Apr 6, 2020
@andybons andybons added this to the Unplanned milestone Apr 6, 2020
@andybons andybons changed the title all: ARMv7 binaries no longer available on storage.googleapis.com x/build/cmd/release: ARMv7 binaries are not available on storage.googleapis.com Apr 6, 2020
@gopherbot
Copy link

Timed out in state WaitingForInfo. Closing.

(I am just a bot, though. Please speak up if this is a mistake or you have the requested information.)

@golang golang locked and limited conversation to collaborators May 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Projects
None yet
Development

No branches or pull requests

5 participants