LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Gentoo (https://www.linuxquestions.org/questions/gentoo-87/)
-   -   Does Gentoo really *have* to compile *everything* from source or is that just Gentoo's preferred way of doing things? (https://www.linuxquestions.org/questions/gentoo-87/does-gentoo-really-%2Ahave%2A-to-compile-%2Aeverything%2A-from-source-or-is-that-just-gentoos-preferred-way-of-doing-things-4175642413/)

Doctype_ 11-15-2018 08:33 AM

Does Gentoo really *have* to compile *everything* from source or is that just Gentoo's preferred way of doing things?
 
I heard somewhere that the Gentoo package manager compiles *everything* from source, but seeing the firefox-bin package it looks like that is not the case. So does Portage really compile everything from source?

JWJones 11-15-2018 09:16 AM

You pretty much answered your own question. While many packages are offered as binaries, yes, Portage primarily compiles from source. If you're interested in trying out a neat little Gentoo installation that can easily be changed from a binary-to-source pure Gentoo system, you might try CloverOS.

sevendogsbsd 11-15-2018 10:12 AM

Some of the larger pkgs like libreoffice or FF are offered in binary form. everything else is compiled. it's why people choose Gentoo. If you want that much control over the software, you pretty much need to build it yourself. If it doesn't matter to you, use a binary distro.

hazel 11-15-2018 10:21 AM

Compiling libreoffice from source is very difficult because it takes days and some bits have to be downloaded "live". There's instructions for doing it in BLFS but I know people have had trouble with it. I'm not surprised Gentoo provides binaries; Crux does as well.

I seem to remember that when I briefly tried Gentoo several years ago, there was a restrictive license covering firefox-bin. You could only use it on the machine you downloaded it to, because use on other local machines constituted "distribution" and the build wasn't licensed by Mozilla.

sevendogsbsd 11-15-2018 10:32 AM

I've never had an issue compiling any package, but then again my build machine is a monster (12 core xeon, 96gb ram). Actually for me, webkitgtk and compilers (llvm60, 70) take a long time (1+ hours). I am not using Linux though, but the build times on Linux were comparable.

For those folks with less horsepower, compiling doesn't make sense - the optimizations aren't THAT noticeable any more.Back in the days of pentium 1, 2, 3, it mattered!

i92guboj 11-16-2018 11:12 AM

Compiling everything from source is kind of the whole point of Gentoo.

There are lots of binary distros out there, some of them are offspring of Gentoo, such as Sabayon.

It's not about performance improvement (at least, for me, it never was) but about being able to swith on/off functionality in every single package, or being able to change every piece of the distro to your liking, without having to keep track of every single dep yourself (just like in Linux From Scratch, for example). This serves a number of purposes. For example, for critical things, having less code paths enabled usually means a lesser attack surface, and probably less bugs (though that's arguable). Size is also a concern in embedded devices, and Gentoo is a brilliant tool for developers of any kind, because you don't have to go around fishing and installing -dev(el) packages to compile whatever thing you need to compile. Maintaining your own set of patches for system packages is quite simple using portage, and the slotting mechanism is also nice.

There are some binary packages, this is for a number of reasons, not only because of package size, but also because of license issues. If you go purist, then there's (almost) no single distro that can be built without binary packages nowadays, because you will almost always depend on binary drivers, firmware blobs, closed source programs, etc.

hazel 11-16-2018 11:36 AM

I don't think Linux From Scratch is comparable. The build instructions in LFS are very rigid; they have to be to make everything work. The configure options that you use in each build are laid down and there is nothing like Gentoo's use flags. BLFS cuts you a bit more slack in that you can choose which packages to install, but you still need to respect the configure options provided and the dependencies that the book treats as required or recommended.

Gentoo gives you unrivalled freedom of choice but not everybody wants that.

i92guboj 11-16-2018 01:43 PM

Quote:

Originally Posted by hazel (Post 5926794)
I don't think Linux From Scratch is comparable. The build instructions in LFS are very rigid; they have to be to make everything work. The configure options that you use in each build are laid down and there is nothing like Gentoo's use flags. BLFS cuts you a bit more slack in that you can choose which packages to install, but you still need to respect the configure options provided and the dependencies that the book treats as required or recommended.

Absolutely, that's the true power of portage. In LFS, whatever you do, you gotta keep the pieces when it breaks, and you have to keep track of every single thing yourself. Included, but not limited to: deps, abi breakage, library versioning, etc.

Quote:

Gentoo gives you unrivalled freedom of choice but not everybody wants that.
Sure. But, if you want that, then Gentoo is the most safe and easy way to go, definitely.

JWJones 11-19-2018 07:37 AM

Quote:

Originally Posted by i92guboj (Post 5926788)
It's not about performance improvement (at least, for me, it never was) but about being able to swith on/off functionality in every single package, or being able to change every piece of the distro to your liking, without having to keep track of every single dep yourself (just like in Linux From Scratch, for example). This serves a number of purposes. For example, for critical things, having less code paths enabled usually means a lesser attack surface, and probably less bugs (though that's arguable).

Same here. The performance is great, but the fine-grained control afforded by USE flags is the main benefit, for me.


All times are GMT -5. The time now is 01:05 PM.