7d8acc20a0
## Issue Addressed Closes #1395 ## Proposed Changes * Add a feature to `lighthouse` and `lcli` called `portable` which enables the `portable` feature on our fork of BLST. This feature turns off the `-march=native` C compiler flag that produces binaries highly targeted to the host CPU's instruction set. * Tweak the `Makefile` so that when the `PORTABLE` environment variable is set to `true`, it compiles with this feature. * Temporarily enable `PORTABLE=true` in the Docker build so that the image on Docker Hub is portable. Eventually I think we should enable `PORTABLE=true` _only on Docker Hub_, so that users building locally can take advantage of the tasty compiler magic. This seems to be possible by setting a Docker Hub environment variable: https://docs.docker.com/docker-hub/builds/#environment-variables-for-builds ## Additional Info Tested by compiling on a very new CPU (Intel Core i7-8550U) and copying the binary to a very old CPU (Intel Core i3 530). Before the portability fix, this produced the SIGILL crash described in #1395, and after the fix, it worked smoothly. I'm in the process of testing the Docker build and running some benches to confirm that the performance penalty isn't too severe. |
||
---|---|---|
.. | ||
css | ||
http | ||
js | ||
advanced_database.md | ||
advanced.md | ||
api.md | ||
become-a-validator-docker.md | ||
become-a-validator-source.md | ||
become-a-validator.md | ||
cli.md | ||
contributing.md | ||
docker.md | ||
faq.md | ||
http.md | ||
installation.md | ||
intro.md | ||
key-managment.md | ||
local-testnets.md | ||
pi.md | ||
setup.md | ||
SUMMARY.md | ||
validator-create.md | ||
validator-import-launchpad.md | ||
validator-management.md | ||
wallet-create.md | ||
websockets.md |