5 ms·
> Trying to compile Firefox was already a challenge. That, and each compile took an hour. At first glance, this sounds terrible. But when compared to software
by thayne 7y ago
> Trying to compile Firefox was already a challenge. That, and each compile took an hour.
At first glance, this sounds terrible. But when compared to software projects of comparable size, Firefox is hardly unique. Compare to compiling Chromium for example, or even the Linux kernel.
- alephnan 7y agoRight. I did not mean this as knock against Firefox. At one of the FAANG I previously worked at, it took an hour to compile JavaScript.
- Polylactic_acid 7y agoI had to compile linux once and I found the process to be trivial. My distro had a guide for how to do it and then how load the kernel in to grub and it was basically just copy/paste
- sondr3 7y agoI think at scale (according to Wikipedia the 5.6 release has ~33M lines of code) the Linux kernel might be one of the easiest (and quickest) projects to compile[1]. [1]: https://techgage.com/wp-content/uploads/2019/11/Compile-Performance-Linux-Kernel-AMD-Ryzen-9-3950X-680x383.jpg https://techgage.com/wp-content/uploads/2019/11/Compile-Perf...
- gpderetta 7y agoI haven't compiled my own kernel in at least 15 year but I remember it was quite easy (is make menuconfig still the way to go?). I did have much more free time though.
- haihaibye 7y agoSurely most of those lines of codes are optional modules and device drivers - so aren't compiled for most users or this test?
- swiley 7y agoThose are all very different levels of difficulty IMO: Linux is almost trivially easy, only slightly harder than the usual configure && make and has very few dependencies. Firefox is pretty painful but it's doable with a decent amount of care and bandwidth. Chromium is a fairly typical google project where the recommended first step to building it is to become a google employee but some alternative workarounds are also available if that's not practical.
- ohazi 7y agoThe first time I had a reason to build Chromium was ten years ago. I was using a 32-bit machine with 4 GB of RAM, and that's where the story ends.
- freeboson 7y agoDo you have to build chromium with blaze? Or does it use e.g. cmake or something?
- jbroman 7y agoIt's uses gn, a build system developed for Chromium. That said, on an Ubuntu system the steps to build Chromium are fairly well-documented and straightforward, as long as you have an appropriately beefy system (unfortunately it's a long wait and a fair amount of RAM is required, and Googlers tend to use a distributed build system). https://chromium.googlesource.com/chromium/src/+/master/docs/linux/build_instructions.md https://chromium.googlesource.com/chromium/src/+/master/docs...
- tedmielczarek 7y agogn is of course a meta-build system, the initials stand for "generate ninja". ninja does the actual build execution. The Firefox build system has a similar homegrown frontend called mozbuild, which generates Makefiles for the actual build.
- happosai 7y agoNah building is fine, just follow the steps from Debian/Ubuntu/whateverdistro . But trying to contribute is fun. By the time you've danced all the hoops to allow you to contribute, some Google employee has already refactored the code around the bug. Then you have to be fast enough to get your updated patch applied before someone else has reorganized the code again... At some point I started wondering if indeed I'd get the fix in faster by starting to practice whiteboard interviews.