Skip to main content
Welcome guest. | Register | Login | Post

Is compiling worth it?

19 replies [Last post]
libervisco's picture
Offline
Joined: 2006-05-04

So, all you gentooers, source mages and linux from scratchers that put so many time waiting to compile everything from source, is it really worth it and if yes why?

I heard gentoo users do it because of performance gain mostly so the logical question would be does the performance gained outweight the loss in compiling time?

I didn't really run a source-based distro to know, but those few times that I compiled something big it kinda got quiet boring waiting for it. Laughing out loud

Thanks
Daniel

Offline
Joined: 2005-12-20

I find it to be very worth it. I can configure things how I want em, leaving out the extra crap I don't need, don't care for, or can't use anyway. I can put my libs and conf files and all where I want em, depending on how it's configured. I'm not forced to use someone else's configuration for the given package, which usually isn't the way I want it anyway. Also, using some optimization flags will speed things up a little or a lot depending on several things. It just seems wrong to me to use an i386 or i486 binary (which most packaged binaries are) on something not an i386 or i486. Certain optimization flags will have varying effects, but if you pick the right ones (and I have found that less is often more in this case) then you can see some noticeable improvement in many cases. Sometimes I find things that don't work quite the way I want them to, and I'm free to change that before compiling it. Basically, it's bloatless, optimized, configured, and hacked and installed the exact way I want it to be. I have the power to do anything and everything here, no distro's telling me how to do this or that when I don't want it that way.

The wait is a non issue for me. Usually I will build a bootable system, then use it from there on. Of course I keep compiling and installing more things until I get everything I want, but this way I am browsing with links and chatting on irc right away (since I install the nessecary things in chroot before I boot it). If all goes right, I only lose enough internet time to reboot. You only install it once, but use it many times. If it takes longer (in some cases a few hours longer) to install something so it fits my criteria, then it's a worthwhile tradeoff as far as I'm concerned. I don't have to deal with the annoyances I might have for those many times I use it if I install it right the one time. Maybe it will take a week to get everthing you want compiled, but maybe you would use it for a year since it's just right. I don't know many people on the same distro for a year.

The downside being, of course, the wait. I just take a couple days off my "normal" computer use and set aside for compiling. I set up some scripts to compile the next thing after it finishes with the first, and to keep it compiling while I'm sleeping. Of course this takes some knowledge of the various nix tools and how to use em, but this is no problem for me. It also might take a couple tries to learn how to get your build to be "perfect", so this could either be a downside or a learning experience, which is of course an advantage Smiling

For those without the nix know how, or who are impatient, or who like people to tell them how to do everything, then binary packages is clearly the way to go. No wait, no headaches over how to configure this or that, no occasional hacking to get things to build cleanly, and you don't have to look for that conf file that is in the default place when the distro you use puts it in a different place.

You can't really base this off of what other people tell you though. The only way to know for sure if it's worth it is to do it. Go build one of them source based distros (preferrably LFS Eye ) and use it for awhile, see how you like it, consider what you might do differently next time, ponder over how another distro would have done it, marvel at the lack of borked package concepts (hey it's only one package per package in the source world, no -dev, -man, -bin, -runtime, -lib, etc. for all the same thing, with deps that make no sense at all ie: X requiring nano), and make sure that you explore the system, check everything out like you would another distro, install and uninstall stuff, and just generally use it. There's really no other way to know for sure Smiling

Hmm, a lot longer then I intended, but I think my point gets across.

a thing's picture
Offline
Joined: 2005-12-20

What about compiling huge packages, like GNOME or KDE? Or do you not even use those?

dylunio's picture
Offline
Joined: 2005-12-20
"a thing" wrote:

What about compiling huge packages, like GNOME or KDE? Or do you not even use those?

I like to steer clear of such things, but there are a few programs that I like that are KDE or Gnome, and I also compile them, I find compiling fun, apt-get foo has no exitment, one get's no kicks out of it, it just installs. While if your there waiting for an hour for it to be personalized just for you, you can get kicks from it - though that might be due to the fact you've been staring at lines of code fly pased for an hour Eye

Offline
Joined: 2005-12-20
"a thing" wrote:

What about compiling huge packages, like GNOME or KDE? Or do you not even use those?

I refuse to install anything Qt (and inherintly KDE) related for my own reasons, but I compiled enough of the gnome stuff to be able to use the gnome apps that I use.

"dylunio" wrote:

though that might be due to the fact you've been staring at lines of code fly pased for an hour

Staring at code is blissful Laughing out loud

Offline
Joined: 2005-12-20

I do think compiling is worth it, at the minute, I am going to decide on which of the BSD's and Solaris versions I am going to use, and compiling from source takes the rubbish away and makes it faster, as well as being for your computer, no one elses.

libervisco's picture
Offline
Joined: 2006-05-04

Thank you valan for an extensive explanation, as well as others for replies.. I must say that all that you say does appeal to me. I also like to watch the code fly on the screen when everything works and compiling is succesful. When it stops with an error the bliss suddenly ends. Laughing out loud

Anyway, beginning this year I tried installing gentoo and was really excited about the whole portage and emerge thing that downloads and compiles things straight away ending up with easily installable and optimized software that fits my very machine. Later I just quit it though moving to something that I can get much faster to install and work on..

Still, it might not be suitable for everyone. What about times when you really need a program right away, but can't have it because you first have to undergo a compilation process? That could be a disadvantage. On the other hand, if I take time and install all programs I would need in advance maybe it wouldn't be such a problem.

I might take a closer look at some of those source based distros at some point, gentoo maybe for a start, or source mage and then maybe even LFS. Ah, the wonderful world of GNU/Linux; so much to try and choose from. Smiling

Thanks
Daniel

Offline
Joined: 2005-12-20

You could even try GNU/HURD.... There is a Gentoo version now Sticking out tongue

AndrewB's picture
Offline
Joined: 2005-12-18

distro dependant really
i will almost always use source for the file i am installing, so it is new
even cvs sometimes

ifthere is any missing deps i norm check the package manager for them (in suse anyway) if it has one there i use that, if not source that too

Offline
Joined: 2005-12-20

Missing deps is the main problem with source, I hate em I tells ya!!!

dylunio's picture
Offline
Joined: 2005-12-20
"onlinebacon" wrote:

Missing deps is the main problem with source, I hate em I tells ya!!!

But such problems are overcome with source based package-managers such as portage and force-get.

Offline
Joined: 2005-12-20

I know, thats why portage rocks, and so does ports. Thats one of the only things though that stopped me doin LFS, didnt want to keep looking for dependencies.

libervisco's picture
Offline
Joined: 2006-05-04
"onlinebacon" wrote:

I know, thats why portage rocks, and so does ports. Thats one of the only things though that stopped me doin LFS, didnt want to keep looking for dependencies.

In that case gentoo would probably be for you, and for me. Laughing out loud

Offline
Joined: 2006-01-31

Compiling wasn't my thing for a while when I was a Debian zealot, but I've recently become more tolerant of compiling packages from source, especially since there are some options I need and some I don't. I guess I'm sort of in between though - I compile packages that I have specific requirements for and install binaries for packages that I just need installed quickly.

Offline
Joined: 2005-12-20
"libervisco" wrote:
"onlinebacon" wrote:

I know, thats why portage rocks, and so does ports. Thats one of the only things though that stopped me doin LFS, didnt want to keep looking for dependencies.

In that case gentoo would probably be for you, and for me. Laughing out loud

Or something more free, one of the BSD's Eye

libervisco's picture
Offline
Joined: 2006-05-04
"onlinebacon" wrote:

Or something more free, one of the BSD's Eye

That comes as a bit strange. BSD may be less restrictive, but that's exactly why it allows exploitation of the great work done by all those BSD programmers. Apple takes it and puts it in OS X, Microsoft takes it and puts it in windows (are you sure it didn't?) etc. And then, the code that has previously been developed by those great BSD developers with freedom ends up being part of the proprietary software that takes it away. That's why I actually think GPL is "more free" (as in freedom) because it not only gives freedom, it protects it from being taken away like this. Smiling

Offline
Joined: 2005-12-20

But isnt that what freedom is, freedom is the right to use the software anywhere, that is what truly free software is, and whether people use it for monetary gain is neither here nor there, free software is that, free. If people start to impose limits on where it can or not be used then it loses that.

libervisco's picture
Offline
Joined: 2006-05-04

The point is that people loose freedom if you make it possible to make that software non-free. BSD licenses allow Microsoft to make that software nonfree as part of their nonfree software. This way BSD can help Microsoft take away users freedom.

There is no such thing as absolute freedom. There is only optimal freedom and freedom has to have certain freedom preserving restrictions, that is, restrictions from things that go against freedom. It is kind of paradoxical, but that's the way it is. Too much freedom is actually no freedom at all.

Now I'm not saying BSD license software is nonfree, far from it.. because people can still use BSD software in freedom, but it has a hole exploitable in such a way to allow nonfree software to be produced as well, and we know what nonfree software does to people, makes them give up their control over their own computing to someone else, loose their freedom. We have to protect ourselves from that.

But this is offtopic. If we are to continue this discussion, maybe we should split it to another topic? Smiling

Thanks
Daniel

tbuitenh's picture
Offline
Joined: 2005-12-21

Compiling everything yourself only makes sense if you have a computer that is always switched on, so you can let it compile while you sleep, or if you want to build a system that is extremely different from what existing distributions provide.

Of course you might also do it if you like watching a compilation, but only when the weather is too bad to go outside and watch plants grow.

Offline
Joined: 2005-12-20
"tbuitenh" wrote:

Compiling everything yourself only makes sense if you have a computer that is always switched on, so you can let it compile while you sleep, or if you want to build a system that is extremely different from what existing distributions provide.

Of course you might also do it if you like watching a compilation, but only when the weather is too bad to go outside and watch plants grow.

All 3 points are correct in my case Cool
Well, except for the going outside