Skip to content
New issue

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

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

Already on GitHub? # to your account

failed to download latest fs-repo-migrations #111

Closed
mrusme opened this issue Oct 22, 2020 · 3 comments
Closed

failed to download latest fs-repo-migrations #111

mrusme opened this issue Oct 22, 2020 · 3 comments
Labels
need/triage Needs initial labeling and prioritization

Comments

@mrusme
Copy link

mrusme commented Oct 22, 2020

I previously had an older version (0.5.1) of IPFS running. After upgrading to 0.7.0 I get the following error:

2020-10-22T22:53:20.268932797Z ipfs version 0.7.0
2020-10-22T22:53:20.270154706Z + '[' -e /data/ipfs/config ]
2020-10-22T22:53:20.270192114Z + echo 'Found IPFS fs-repo at /data/ipfs'
2020-10-22T22:53:20.270196705Z + exec /usr/bin/ipfs daemon '--migrate=true' --enable-pubsub-experiment --enable-namesys-pubsub --enable-gc '--routing=dhtclient'
2020-10-22T22:53:20.270188704Z Found IPFS fs-repo at /data/ipfs
2020-10-22T22:53:20.309360113Z Initializing daemon...
2020-10-22T22:53:20.309413651Z go-ipfs version: 0.7.0-ea77213e3
2020-10-22T22:53:20.30941833Z Repo version: 10
2020-10-22T22:53:20.309421833Z System version: amd64/linux
2020-10-22T22:53:20.309425002Z Golang version: go1.15.3
2020-10-22T22:53:20.309484975Z Found outdated fs-repo, migrations need to be run.
2020-10-22T22:53:20.309508076Z   => Looking for suitable fs-repo-migrations binary.
2020-10-22T22:53:20.309574876Z   => None found, downloading.
2020-10-22T22:53:20.397051584Z Error: failed to download latest fs-repo-migrations: GET https://ipfs.io/ipfs/Qmdo5m6bpQXCayzfGghyvgXJdVHSsXsCKDUo9vWktDKq3K/fs-repo-migrations/v1.6.3/fs-repo-migrations_v1.6.3_linux-musl-amd64.tar.gz error: 404 Not Found: ipfs resolve -r /ipfs/Qmdo5m6bpQXCayzfGghyvgXJdVHSsXsCKDUo9vWktDKq3K/fs-repo-migrations/v1.6.3/fs-repo-migrations_v1.6.3_linux-musl-amd64.tar.gz: no link named "fs-repo-migrations_v1.6.3_linux-musl-amd64.tar.gz" under QmQ1RURVdfaEyKcantokY8eXEqx9p3ZJCBWFiuwbUGkuAd
2020-10-22T22:53:20.39711302Z 
2020-10-22T22:53:20.397094716Z   => Failed to download fs-repo-migrations.
2020-10-22T22:53:20.397125436Z The migrations of fs-repo failed:
2020-10-22T22:53:20.397129008Z   failed to download latest fs-repo-migrations: GET https://ipfs.io/ipfs/Qmdo5m6bpQXCayzfGghyvgXJdVHSsXsCKDUo9vWktDKq3K/fs-repo-migrations/v1.6.3/fs-repo-migrations_v1.6.3_linux-musl-amd64.tar.gz error: 404 Not Found: ipfs resolve -r /ipfs/Qmdo5m6bpQXCayzfGghyvgXJdVHSsXsCKDUo9vWktDKq3K/fs-repo-migrations/v1.6.3/fs-repo-migrations_v1.6.3_linux-musl-amd64.tar.gz: no link named "fs-repo-migrations_v1.6.3_linux-musl-amd64.tar.gz" under QmQ1RURVdfaEyKcantokY8eXEqx9p3ZJCBWFiuwbUGkuAd
2020-10-22T22:53:20.397133905Z 
2020-10-22T22:53:20.397136949Z If you think this is a bug, please file an issue and include this whole log output.
2020-10-22T22:53:20.39714043Z   https://github.com/ipfs/fs-repo-migrations
@mrusme mrusme added the need/triage Needs initial labeling and prioritization label Oct 22, 2020
@aschmahmann
Copy link
Contributor

aschmahmann commented Oct 23, 2020

@mrusme weird, it looks like there is something going on here related to the version of Linux you're running and how fs-repo-migrations work with it.

It seems from ipfs/kubo#3698 that for some reason your version of Linux might not work with the normal Linux fs-repo-migrations binary, and instead requires one specially built using musl. It looks from ipfs/kubo#4219 that while we added in this musl based hack for a little while when the go-ipfs docker images were based on musl, we've long since moved to having the go-ipfs docker images based on glibc.

You try manually downloading the latest version from https://dist.ipfs.io/#fs-repo-migrations and adding it to your path to see if that helps, however if that doesn't work then my guess is that you have two options:

  1. Use glibc instead of musl
  2. Build the fs-repo-migrations binary manually

@Stebalien @Kubuxu does this look right to you, and if so should we remove/alter the code in go-ipfs that tries to download the (non-existent) musl version of fs-repo-migrations?

P.S. Why does this libc stuff matter? Is it based on the version of libc the Go compiler was built with?

@aschmahmann
Copy link
Contributor

aschmahmann commented Oct 23, 2020

@mrusme I've put up a PR to go-ipfs (ipfs/kubo#7735), as this is really a go-ipfs issue, to clarify that linux + musl isn't supported at the moment (may still tweak the wording there a bit or add more documentation).

As mentioned above: If you build this repo locally and put the fs-repo-migrations binary in your path it should work just fine. Additionally, if you're using an alpine docker image you could switch to something like one of the debian ones (e.g. go-ipfs uses golang:1.14.4-buster).

Issue about publishing linux + musl binaries: ipfs/distributions#322

@mrusme
Copy link
Author

mrusme commented Oct 23, 2020

@aschmahmann thank you for the insightful explanation and quick resolution! Indeed, I'm using Alpine here. I will give manual building a try. If that doesn't work, I'll simply switch to -buster, thank you!

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
need/triage Needs initial labeling and prioritization
Projects
None yet
Development

No branches or pull requests

2 participants