filecoin-project / venus

Filecoin Full Node Implementation in Go
https://venus.filecoin.io
Other
2.06k stars 462 forks source link

Should compiling rust libraries (bls / proofs) be opt in? #2548

Closed travisperson closed 5 years ago

travisperson commented 5 years ago

Description

We now have no hard requirement for the rust toolchain since the merge of the precompiled bls work (#2368), at least this is my understanding now.

However, we currently have to opt into downloading the release. Should we switch this around and by default download the precompiled libraries, and require opt in to custom compile?

If we use the precompiled libraries do we have any requirements on the submodules, or are the releases self contained? I think we currently use them as a source to find the correct version for downloading the precompiled libraries.

/cc @laser @sidke

mishmosh commented 5 years ago

yaaaaaaaaas. so invert the USE_PRECOMPILED_PROOFS env variable?

laser commented 5 years ago

I think that it's a great idea to make folks opt in to compiling rust-fil-proofs and bls-signatures locally instead of the status quo (opting out).

travisperson commented 5 years ago

Current we have FILECOIN_USE_PRECOMPILED_BLS_SIGNATURES and FILECOIN_USE_PRECOMPILED_RUST_PROOFS.

I think renaming them to FILECOIN_COMPILE_* might be the best approach. I tried to think of a way we could continue to use the current names, while still making sure that running the install scripts directly would default to downloading the release, but ran into an issue trying to figure out the best way to enabling compiling.

anorth commented 5 years ago

I'm in agreement. I understand that @sidke was doing some work to reduce the number of environment variables to one, so that all libraries are consistently downloaded or compiled (which might have been deprioritised recently).

laser commented 5 years ago

This issue is obsolete; you'd have to opt out (or fail to download) of prebuilt binaries in order to build locally.