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

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
Member

@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
# for free to join this conversation on GitHub. Already have an account? # 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