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

Review build, compile, and install steps for Lotus. #539

Open
johnnymatthews opened this issue Mar 30, 2023 · 4 comments
Open

Review build, compile, and install steps for Lotus. #539

johnnymatthews opened this issue Mar 30, 2023 · 4 comments
Assignees
Labels
dif/medium Prior experience is likely helpful effort/days Estimated to take multiple days, but less than a week need/maintainers-input Needs input from the current maintainer(s) P1 High: Likely tackled by core team if no one steps up

Comments

@johnnymatthews
Copy link
Contributor

The Lotus compile and build steps may be out of date. They list Homebrew as a MacOS install option, which I'm pretty sure got halted a while ago.

Steps

  • Linux

    • Review dependencies. Some may be un-used.
    • Review compile and build process.
  • MacOS

    • Find out if Homebrew is actually still supported.
    • Review dependencies.
    • Review compile and build process.
      • Pay special attention to the compile process for Apple Silicon. We used to require special M1 flags to build, but that might not be the case anymore.
@johnnymatthews johnnymatthews added dif/medium Prior experience is likely helpful effort/days Estimated to take multiple days, but less than a week need/triage Needs initial labeling and prioritization labels Mar 30, 2023
@github-project-automation github-project-automation bot moved this to 👣 Needs triage in Protocol Docs Mar 30, 2023
@johnnymatthews johnnymatthews added P1 High: Likely tackled by core team if no one steps up and removed need/triage Needs initial labeling and prioritization labels Apr 4, 2023
@johnnymatthews johnnymatthews moved this from 👣 Needs triage to 📋 Backlog in Protocol Docs Apr 4, 2023
@johnnymatthews johnnymatthews moved this from 📋 Backlog to 👾 Up next in Protocol Docs Apr 4, 2023
@ElPaisano
Copy link
Contributor

@johnnymatthews I can take this one

@ElPaisano ElPaisano self-assigned this Apr 11, 2023
@ElPaisano ElPaisano moved this from 👾 Up next to 🏗 In Progress in Protocol Docs Apr 12, 2023
@ElPaisano ElPaisano moved this from 🏗 In Progress to 👀 In review in Protocol Docs Apr 17, 2023
@ElPaisano ElPaisano linked a pull request Apr 18, 2023 that will close this issue
@ElPaisano ElPaisano added the need/maintainers-input Needs input from the current maintainer(s) label Apr 18, 2023
@smagdali
Copy link
Contributor

@ianconsolata Homebrew is still supported right?

@ianconsolata
Copy link
Contributor

ianconsolata commented Apr 26, 2023

Looks like it, the release was just updated 3 days ago when the new build was published https://github.com/filecoin-project/homebrew-lotus. You should be able to run brew install filecoin-porject/lotus/lotus to install it, or use brew tap filecoin-project/lotus && brew install lotus

In particular, it should be working on both Apple Silicon and non-Silicon macs. When testing the lotus build process, if you find those special build flags are no longer needed for Apple Silicon please let me know -- the build process for generating the MacOS binaries is a little clunky right now because of those flags, and because at the time I could only get it to work if it is was building on an Apple Silicon VM. If you can get it to build without those flags on a non-Silicon environment using only GOARCH and GOOS flags, that would simplify the lotus build process significantly.

@ianconsolata
Copy link
Contributor

Just double checked, and I has a weird issue installing it the first time, but after cleaning and trying again it seemed to work without a hitch. Not sure what might have caused the issue the first time, but if you encounter anything similar please flag and I can dig in further:

❯ brew install -v filecoin-project/lotus/lotus
==> Fetching filecoin-project/lotus/lotus
==> Downloading https://github.com/filecoin-project/lotus/releases/download/v1.22.1/lotus_v1.22.1_darwin_all.tar.gz
Already downloaded: /Users/i/Library/Caches/Homebrew/downloads/1b1dc1ad99fc65dc1f3ce90e8b337d1035bd951cd59fc7ab69b0a141f2c2591a--lotus_v1.22.1_darwin_all.tar.gz
==> Verifying checksum for '1b1dc1ad99fc65dc1f3ce90e8b337d1035bd951cd59fc7ab69b0a141f2c2591a--lotus_v1.22.1_darwin_all.tar.gz'
==> Installing lotus from filecoin-project/lotus
/usr/bin/env tar --extract --no-same-owner --file /Users/i/Library/Caches/Homebrew/downloads/1b1dc1ad99fc65dc1f3ce90e8b337d1035bd951cd59fc7ab69b0a141f2c2591a--lotus_v1.22.1_darwin_all.tar.gz --directory /private/tmp/d20230426-41231-meyn8k
/usr/bin/env cp -pR /private/tmp/d20230426-41231-meyn8k/lotus_v1.22.1_darwin_all/. /private/tmp/lotus-20230426-41231-1om65ra/lotus_v1.22.1_darwin_all
==> Cleaning
==> Finishing up
ln -s ../Cellar/lotus/1.22.1/bin/lotus lotus
ln -s ../Cellar/lotus/1.22.1/bin/lotus-miner lotus-miner
ln -s ../Cellar/lotus/1.22.1/bin/lotus-worker lotus-worker
==> Summary
🍺  /usr/local/Cellar/lotus/1.22.1: 5 files, 1.1GB, built in 8 seconds
==> Running `brew cleanup lotus`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Warning: Use python-tabulate instead of deprecated libpython-tabulate

❯ which lotus
/usr/local/bin/lotus

❯ lotus --version
lotus version 1.22.1+mainnet+git.06946a8fc

@ElPaisano ElPaisano moved this from 👀 In review to 📋 Backlog in Protocol Docs May 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dif/medium Prior experience is likely helpful effort/days Estimated to take multiple days, but less than a week need/maintainers-input Needs input from the current maintainer(s) P1 High: Likely tackled by core team if no one steps up
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants