rclone / rclone

"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files
https://rclone.org
MIT License
47.25k stars 4.23k forks source link

This program can only be run on AMD64 processors with v3 microarchitecture support. #8060

Closed WeidiDeng closed 2 months ago

WeidiDeng commented 2 months ago

The associated forum post URL from https://forum.rclone.org

None.

What is the problem you are having with rclone?

I can't run the latest rclone downloaded from gtihub releases. I can with version 1.67.0

What is your rclone version (output from rclone version)

Supposedly it's 1.68.0, but it can't be run.

Which OS you are using and how many bits (e.g. Windows 7, 64 bit)

Debian 12.7 amd64, Microarchitecture level: 2

Which cloud storage system are you using? (e.g. Google Drive)

The command you were trying to run (e.g. rclone copy /tmp remote:tmp)

rclone version

A log from the command with the -vv flag (e.g. output from rclone -vv copy /tmp remote:tmp)

None

How to use GitHub

The problem stems from that rclone has been compiled with GOAMD64=v3 or higher, which caused it to fail to run. Release notes don't show that rclone doesn't support older microarchitecure. This has nothing to do with go version, because I run caddy compiled with 1.23 successfully.

albertony commented 2 months ago

The problem stems from that rclone has been compiled with GOAMD64=v3 or higher

Are you sure? How can you tell?

I cannot find that we do set GOAMD64 anywhere in our build scripts, and according to https://go.dev/wiki/MinimumRequirements#amd64 the default is then v1:

GOAMD64=v1 (default): The baseline. Exclusively generates instructions that all 64-bit x86 processors can execute. GOAMD64=v2: all v1 instructions, plus CMPXCHG16B, LAHF, SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3. GOAMD64=v3: all v2 instructions, plus AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, OSXSAVE. GOAMD64=v4: all v3 instructions, plus AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL.

Looking at the build logs from the latest beta version, built with go1.23.1, it includes in its listing of go environment:

set GOAMD64=v1

If you haven't already, can you try the latest beta build https://beta.rclone.org/rclone-beta-latest-linux-amd64.zip just to check?

WeidiDeng commented 2 months ago

The latest beta works fine. The releases don't.

albertony commented 2 months ago

Thanks for testing that. 👍

I'm not sure how the release builds are built then, so we'll have to wait for @ncw to stop by...

ncw commented 2 months ago

The release builds are built exactly the same way as the beta builds

https://github.com/rclone/rclone/actions/runs/10761052938/job/29839788011

So this is very puzzling!

Animosity022 commented 2 months ago

Can you share the details of the file?

ls -al rclone stat rclone md5 or md5sum whichever your OS has

How did you install it?

Animosity022 commented 2 months ago

My test on Linux with 1.68

root@gemini:/mnt/user/data/scripts/t# wget https://downloads.rclone.org/v1.68.0/rclone-v1.68.0-linux-amd64.zip
--2024-09-09 10:54:26--  https://downloads.rclone.org/v1.68.0/rclone-v1.68.0-linux-amd64.zip
Resolving downloads.rclone.org (downloads.rclone.org)... 95.217.6.16, 2a01:4f9:c012:7154::1
Connecting to downloads.rclone.org (downloads.rclone.org)|95.217.6.16|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 22499401 (21M) [application/zip]
Saving to: ‘rclone-v1.68.0-linux-amd64.zip’

rclone-v1.68.0-linux-amd64.zip                    100%[=============================================================================================================>]  21.46M  8.70MB/s    in 2.5s

2024-09-09 10:54:29 (8.70 MB/s) - ‘rclone-v1.68.0-linux-amd64.zip’ saved [22499401/22499401]

root@gemini:/mnt/user/data/scripts/t# unzip rclone-v1.68.0-linux-amd64.zip
Archive:  rclone-v1.68.0-linux-amd64.zip
   creating: rclone-v1.68.0-linux-amd64/
  inflating: rclone-v1.68.0-linux-amd64/README.txt
  inflating: rclone-v1.68.0-linux-amd64/README.html
  inflating: rclone-v1.68.0-linux-amd64/rclone.1
  inflating: rclone-v1.68.0-linux-amd64/rclone
  inflating: rclone-v1.68.0-linux-amd64/git-log.txt
root@gemini:/mnt/user/data/scripts/t# cd rclone-v1.68.0-linux-amd64/
root@gemini:/mnt/user/data/scripts/t/rclone-v1.68.0-linux-amd64# ./rclone version
rclone v1.68.0
- os/version: slackware 15.0+ (64 bit)
- os/kernel: 6.1.106-Unraid (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.23.1
- go/linking: static
- go/tags: none
- 

and the md5

root@gemini:/mnt/user/data/scripts/t/rclone-v1.68.0-linux-amd64# md5sum rclone
4922d44cefbfaf014f5a23f3a148b9aa  rclone
WeidiDeng commented 2 months ago

A silly mistake by me. That binary was not rclone. I wondered why it was a gz file instead of the usual zip file. Anyway, the releases work.

md5sum from the official release for linux-amd64 is

4922d44cefbfaf014f5a23f3a148b9aa  rclone-v1.68.0-linux-amd64/rclone