torcharrow icon indicating copy to clipboard operation
torcharrow copied to clipboard

Remove command-line options of build_mac_dep.sh

Open wangkuiyi opened this issue 3 years ago • 5 comments

/README.md tells us to install non-brew dependencies with the following command

scripts/build_mac_dep.sh ranges_v3 googletest fmt double_conversion folly re2

However, it seems easier to remove the command-line options.

scripts/build_mac_dep.sh

We can make build_mac_dep.sh to call the install_xxx functions for a fixed set of tools.

Does this make sense?

wangkuiyi avatar Oct 15 '21 02:10 wangkuiyi

That makes sense. Thanks for the suggestion.

The reason why I listed all the libraries explicitly is because when I setup my Mac, some of the package installments failed due to issues like /usr/local permissions, etc -- and always re-install from scratch is quite annoying. So I think it may be helpful to let user understand what are the "packages" get installed so they can retry individually.

But yeah, let's make it install all packages if no parameter is provided.

wenleix avatar Oct 15 '21 02:10 wenleix

I actually had the same experience, and I too trimmed the list to avoid reinstalling all the prior packages each time.

dongreenberg avatar Oct 15 '21 02:10 dongreenberg

How about we add some assertions at the beginning of build_mac_deps.sh to check the requirements?

I didn't have the problem with the permission of /usr/local, because when I was installing Homebrew on a fresh mac, brew doctor reminded me about the permission before I start installing packages. I did chown -R <me> /usr/local/{bin,lib,share} following the suggestions by brew doctor.

I feel that ideally, we should be able to have one script file for users to run

  • scripts/deps.bash which invokes either of the following two depending on the result from uname:
  • scripts/deps_mac.bash
  • scripts/deps_linux.bash
  • scripts/deps_bsd.bash (optional)

Please let me knwo whether this is the right direction. If so, I can start moving towards there. Thanks

wangkuiyi avatar Oct 15 '21 03:10 wangkuiyi

@wangkuiyi Sounds great! Shall we still make scripts/deps_mac.bash callable and can install individual packages? So in general user will just call scripts/deps.bash, but if something goes wrong , they can call scripts/deps_mac.bash to reinstall individual packages.

Thank you so much!

wenleix avatar Oct 16 '21 06:10 wenleix

Sounds very good for me. Thanks @wenleix !

I am thinking that this might not be very urgent at this moment indeed. It seems more urgently, we'd need to set up CI to verify that these installation and building steps work on Mac and Linux VMs. Does this make sense?

wangkuiyi avatar Oct 16 '21 23:10 wangkuiyi