4 ms·
Had to build bazel from scratch, you need: - a previous version of Bazel - GCC/Clang - JDK - Python - Zip and Unzip Not sure I'd call that "huge". Perhaps
by steeve 6y ago
Had to build bazel from scratch, you need:
- a previous version of Bazel
- GCC/Clang
- JDK
- Python
- Zip and Unzip
Not sure I'd call that "huge". Perhaps the JDK?
- ryukafalz 6y agoSince GP said bootstrapping rather than just building... where do you get that previous version of Bazel?
- steeve 6y agoFrom the bazel releases. It always starts with a binary.
- ryukafalz 6y agoI mean sure, you always need to start with a binary somewhere, but to put this into perspective... the binaries needed to bootstrap all the software on the distro I run on my laptop weigh in at about 60 MiB[0]. An x86_64 build of Bazel alone weighs in at about 27 MiB[1]. As someone who cares about source bootstrappability, that feels like sliding backwards. I suppose you may be able to find a chain of older versions of Bazel starting with one that doesn't require Bazel itself to build, like the Guix devs did for Rust[2]. [0] https://guix.gnu.org/blog/2020/guix-further-reduces-bootstrap-seed-to-25/ https://guix.gnu.org/blog/2020/guix-further-reduces-bootstra... [1] https://github.com/bazelbuild/bazel/releases/tag/3.5.0 https://github.com/bazelbuild/bazel/releases/tag/3.5.0 [2] https://guix.gnu.org/blog/2018/bootstrapping-rust/ https://guix.gnu.org/blog/2018/bootstrapping-rust/
- de_watcher 6y agoHe was talking about bootstrapping. But anyway, JDK and Python? Really?
- steeve 6y agoBazel is in Java...
- laurentlb 6y agoBazel is written in C++ and Java. The compile.sh (and the root of the repository) uses bash and probably a few other binaries. What are the issues exactly? Please file a bug if you have issues bootstrapping Bazel (it's not a need for most users, so the process might not be perfect).
- jnxx 6y ago> you need: > > - a previous version of Bazel Why do all these systems seem to need to prove Goedel's theorem? What is wrong with providing a tool that builds portably with a simple C compiler?