Linked by Eugenia Loli on Sun 16th Dec 2007 00:04 UTC, submitted by obsethryl
Gentoo A relatively lengthy Q&A with Ciaran McCreesh about Paludis, the Portage alternative for Gentoo.
Thread beginning with comment 291156
To read all comments associated with this story, please click here.
was a long time gentoo fan...
by nighty5 on Sun 16th Dec 2007 01:18 UTC
nighty5
Member since:
2005-12-18

I had a 18 month fling with Gentoo, what draw me in was the portage system, but ironically what threw me out was the same portage system.

Paludis points to many problems within portage, and I have first hand experience in some of the fundamental problems with the tool. It didn't seem to matter if you tried to not get your hands dirty, you almost certainly did anyway.

Some times, without notice portage would fail to install a peice of software after an upgrade. Paludis lightly touches on points about buggy software and the fact that those bugs won't be found until you hit runtime, instead of compile time. This is also reflected in the fact there is no test suites (as stated)

I love the prospect of Paludis written in C++, may take a look at it.

What broke the camels back for was when one day I wanted to upgrade to glibc 2.5, portage simply wouldn't. (errors, failures, dependances etc) I tried for months to get it to upgrade. I had invested significant time into Gentoo as a server build so it was very upsetting to get rid of it.

Maybe Paludis can save Gentoo? In the end I installed Ubuntu.

Reply Score: 10

blixel Member since:
2005-07-06

I had a 18 month fling with Gentoo, what draw me in was the portage system, but ironically what threw me out was the same portage system.


Pretty similar with me. I had an 18 to 24 month fling with Gentoo. What drew me in was the whole concept of compiling everything on my own system for optimization, but ironically what threw me out was the whole concept of compiling everything on my own system for optimization.

After using Gentoo for a while, I just got sick of those multi-hour compiles when a new Firefox + Thunderbird update was released. And the fact was, I could not perceive a performance advantage. I don't care if there is some microscopic performance advantage that requires benchmarking tools to even be able to verify. The real world, day to day usage proved to me there was no performance advantage.

Plus - as I got more interested in OpenBSD, I became much more keen to the notion of using precompiled binaries. Keep your production system *clean* and *lean* ... free from compilers, free from source code, and so on.

Some of the points that really made me change my mind about Gentoo (and compiling in general):

* In the vast majority of cases, you won't see any performance advantage. An i686 optimized version of notepad.exe isn't going to "perform" any better than an i386 optimized version of notepad.exe for the reason that most applications spend most of their cycles waiting on user input.

* In the event that an application does benefit from CPU optimizations (such as the Linux kernel), the distribution will provide an optimized version for you.

* When you are running your own compilations, *you* are the only person testing that program. When you run the same binary that the other 1000's of Debian/Ubuntu/RedHat users are running, you share the benefit of getting updates to that binary should a bug or security issue be located.

I could go on, but those are the key points.

I've pretty much done a 180 - I now have a love affair with binary systems for any kind of production. (Including Desktop systems, workstations, and especially servers.) I read a great line in my Absolute OpenBSD book ... it goes something like this. "Hackers love it when you have a working compiler on your server. It makes their life that much easier."

Reply Parent Score: 7

WereCatf Member since:
2006-02-15

Wow you sure got Gentoo totally the wrong way :O Gentoo isn't about optimizing everything with some magical compiler parameters and somehow magically having a whole lot faster distro than everyone else...It's about being able to customize everything for specifically yourself and your machine. I have been using Gentoo for years and there just simply isn't anything that could draw me away from it. F.ex. I can install MPlayer with exactly the features I want, but on the binary distros you're stuck with what they provide you.. Oh, and just to say something about those optimizations: no, optimizing and tweaking some GUI app won't mean much but if you're for example running Apache.....Having Apache optimized for the hardware it is running on will benefit a lot more. I instruct gcc to optimize my server software for max speed whereas I instruct gcc to optimize my GUI apps for size. The smaller size the binaries are the faster they load and less memory is used, you know? But on a binary distro you don't have that kind of a power.

EDIT: Just thought to add here that I see it kind of stupid to be compiling new software every day...I usually sync portage tree once every two weeks and update everything then. I'll just leave it compiling them while I'm out of home or sleeping.

Edited 2007-12-16 11:36

Reply Parent Score: 9

mors Member since:
2007-12-17

you do know you can install binaries via portage as well as compile right? for those big apps if you don't have the power to compile (or time) just use a binary.

Reply Parent Score: 1

dbodner Member since:
2007-07-01

[quote]
I've pretty much done a 180 - I now have a love affair with binary systems for any kind of production. (Including Desktop systems, workstations, and especially servers.) I read a great line in my Absolute OpenBSD book ... it goes something like this. "Hackers love it when you have a working compiler on your server. It makes their life that much easier."[/quote]

You could always build the packages elsewhere, then emerge --usepkgonly on the production server.

Reply Parent Score: 1

DigitalAxis Member since:
2005-08-28

I followed the same path you did... Gentoo was my introduction to Linux on the desktop (2003-2005) and I ended up giving up on it not because of Portage and breakage, but that setting up things like sound servers and automounting was just getting to be a major hassle, that and the pressure to keep updated and compiling all the time. Went to Ubuntu, and nearly made a fool out of myself trying to tweak everything the Gentoo way...

On the other hand, at the same time (and for a few months after I switched my own machine) I was maintaining a very old, very slow computer for general use around the department. It was a Pentium II 333 MHz machine, but with a bit of care it was usually running faster than the 1.8 GHz Pentium IV computers we had running Windows XP.

It's not the compile-time optimizations that made it fast, it's that Gentoo allowed me to be very selective about what software I installed. I used a kernel that only had built-in drivers for the hardware in the machine, no sound system, XFCE 4.2, Firefox, OpenOffice (which was admittedly dog slow) and very few other things. Gentoo is great if you know exactly what you want the computer to do (and probably even better if you can just set it up and forget about it)

The other thing I will say for Gentoo is, if you want to compile a newer version of a program (say, for beta testing or because you need it and it's not in a repository), it was much easier to do so on a Gentoo system, since you were guaranteed to have a compiler and all the header files for everything on your system.

I hope Gentoo gets out of its current slump (granted, since I haven't heard much about it lately it must have abated or entered a less-newsworthy phase), and I hope Paludis works. I remember reading about Paludis back when I used Gentoo (so this is not a new thing either), and I remember Ciaran being... well, acerbic and opinionated, arguing with the other developers. Hopefully things have changed for the better since then.

Reply Parent Score: 4

dylansmrjones Member since:
2005-10-02

Heh, these days setting up sound servers and automounting is done for you quite automagically (well, with the proper use flags that is :p ).

But I can remember in the beginning. Back then automounting worked rather randomly.

gentoo is quite newsworthy but the very rolling structure of gentoo means releases don't make much sense and as such there aren't any of those to talk about. But that doesn't mean gentoo isn't taking big strides constantly. It is just done without fanfare.

The Fedora and Ubuntu-devs tend to scream out loud everytime they fix a detail, gentoo-devs just post a reply in a bug-report when a detail is fixed. And then we all rejoice ;)

Reply Parent Score: 1

butters Member since:
2005-07-08

I had a 5-year Gentoo phase, starting toward the very beginning, in late 2001, before the 1.0 release.

I wasn't drawn by the source-based aspects, but rather the meta-distribution aspects. I thought that Gentoo was the heir-apparent mother distribution to succeed Debian and become the technical underpinning of myriad binary distributions--the standard make-you-own distribution toolkit.

The Gentoo Forums were legendary. The community was vibrant, full of knowledgable and helpful people. The project had a unique vision and direction. Then Daniel Robbins decided to cut the project loose to fly on its own. It was a slow, painful decline from that point on.

The binary distributions based on Gentoo never materialized until Sabayon, which isn't really a binary distribution of Gentoo so much as a Stage 4. Portage wasn't scaling well with the explosive growth of the tree, and although its performance improved, progress was sporadic and transistions were often complicated.

It was death by growing pains, predominantly because Gentoo didn't offer a binary derivative to appeal to the crowd that thinks they're hobbyists but really just wants a distribution that makes a bit more sense under the covers. Gentoo attracted a userbase it didn't want and couldn't satisfy.

Gentoo is a great idea that never really fulfilled its promising potential, and the Debian/Ubuntu ecosystem has really picked up the slack. I wish my Ubuntu systems were really Gentoo under the covers. I wish I had emerge and rc-update. But it's not worth the effort anymore to deal with Gentoo. Ubuntu is "good enough".

Reply Parent Score: 8

dylansmrjones Member since:
2005-10-02

Ubuntu is "good enough".


And the gentoo view is that Ubuntu is an african word meaning 'Gentoo is too hard' ;)

gentoo is still among the biggest distributions and is still moving forward. But the distribution and the userbase have matured and become boring in the eyes of the "leet" persons. But the rest of us just want something that works and does what we want it to, when we want it to. And gentoo does that.

Reply Parent Score: 2

Snifflez Member since:
2005-11-15

"It was death by growing pains, predominantly because Gentoo didn't offer a binary derivative to appeal to the crowd that thinks they're hobbyists but really just wants a distribution that makes a bit more sense under the covers."

This just doesn't make any sense: why would Gentoo need to offer a binary distro based on itself? That's like saying that Microsoft failed because they never opened up their source code. Microsoft isn't about opening up its code and Gentoo isn't about being a binary distro.

Reply Parent Score: 2

MrEcho Member since:
2005-07-07

Yes the portage system does have a lot of issues. But the .ebuild system works out pretty well.

The issue I have with Paludis is that its complicated to use, unlike emerge. And once you start using paludis, you cant go back to emerge/portage. It doesn't sync what you have installed / updated on the system.

As far as it said it built fine, and doesn't run issue(which I haven't had) you can turn on build testing.
And the newer emerge/portage system has gotten much better at checking for a lot of other misc issues. Like testing to see if the current emerge will overwrite other packages file.

Another big thing I see a lot of people bitch about is when theres a major update to a critical package like Apache. If they where just to check the front page, the dev's put out notices weeks in advance.

Yes emerge/portage does need a lot of help, It just needs to be redone, ether c/c++ or just stop using flat files for everything. Which is the issue with me, its dog slow, even on a 10K RPM drive. Use sqlite damn it!

My next box will be a mac, but ill always have a Gentoo box around. And I use Gentoo at our colo, need all the performance possible, and RHEL/SuSE/CentOS just doesn't cut it.

3.75 years of Gentoo. http://gentoo-install.com

Reply Parent Score: 2

dagw Member since:
2005-07-06

I use Gentoo at our colo, need all the performance possible, and RHEL/SuSE/CentOS just doesn't cut it.

Do you have any sort of benchmarks as to where Gentoo gets things done, but RHEL/SuSE/CentOS doesn't cut it? I've heard plenty of people make this claim, but no has ever substanciated it.

I actually did my own bench marks between Gentoo and Red Hat a few years ago, when trying to decide which OS to use on a server, and found no performance differences at all, once I made sure all the software was of the same version and was configured the same.

Reply Parent Score: 3

nilkki Member since:
2007-10-26

You probably know this already, but what helped me a LOT was making a separate partition and format it to ReiserFS for /usr/portage. The difference is huge. Now portage isn't particularly fast, but it's not really slow either. Hope this helps you or someone else.

Reply Parent Score: 2

MrEcho Member since:
2005-07-07

Yes the portage system does have a lot of issues. But the .ebuild system works out pretty well.

The issue I have with Paludis is that its complicated to use, unlike emerge. And once

Reply Parent Score: 1

skynexus Member since:
2005-08-10

I love the prospect of Paludis written in C++

I still remember how underwhelmed I was when hearing about this the first time. Before condemning the choice of language, I tried to find out why they chose C++ to begin with. This is what they say on their FAQ:

Because we don't have the time or the manpower to write it in C.

However, as python would have allowed them to write Paludis ridiculously faster than using C++, that line of reasoning seemed questionable. Especially as emerge was itself written in python. Poking around the website, I also came across this item on their list of features:

Low dependency bloat. No Python, no big external crypto libraries.

So I assumed the "bloat" aspect was another rationale. But given the advantages of Python, I find it hard to take that argument seriously. Apparently, McCreesh now also said the following about scripting languages in the article:

The tradeoffs, of course, being a much lower level of static checking, a much higher risk of buggy code slipping through and much higher testing requirements to meet release standards ...

Since when does C++ deliver reduced risk of buggy code slipping through when compared to, say, Python? This fantastic claim seems to contradict common sense. Choosing the right language for the job is important, and C++ has always seemed to me as a horrible choice. Everything they say to rationalize their choice simply acerbates this impression.

Reply Parent Score: 5

nighty5 Member since:
2005-12-18

Maybe just love C++ like me?

Maybe its all about having fun with what you are good at?

There is no need for people these days to stand idle and have a language pissing match - there is way too much choice these days, so you just pick what you think will do you well at.

I congratulate the authors of Paludis because they have done something that clearly they love without compromising on their dream to improve Gentoo. Even I can't make that claim ;)

Reply Parent Score: 1

Bending Unit Member since:
2005-07-06

Since when does C++ deliver reduced risk of buggy code slipping through when compared to, say, Python?


You catch a great deal of errors at compile time.

Reply Parent Score: 5

Redeeman Member since:
2006-03-23

the simple fact is, python allows ALOT more weird errors to happen because it doesent require as much from the developer as c++, and as stuff builds up, its just harder to know wtf is going on, if the application is written in python, and someone made an ugly mistake.

Reply Parent Score: 2

MORB Member since:
2005-07-06

"Since when does C++ deliver reduced risk of buggy code slipping through when compared to, say, Python?"

The curse of C++ is to forever be judged negatively by people who have no idea what the language is about.

C++ is all about static typing and catching as many error as possible at compilation time (as in, many things that would not work or lead to bugs shouldn't compile).

Of course, since it's backward compatible with C it also provides many ways to force your bad code through and many unsafe legacy alternative ways to do things (pointer arithmetic, c-style arrays, managing strings as manually allocated byte arrays etc.) that people incorrectly consider the "normal" way to do things in C++.

If people stopped considering C++ as "C with additional stuff" and teaching it as such, maybe more people would see the language for what it is.

Reply Parent Score: 3