Present Perfect

2007-3-2311:32 am

We sometimes get some mails on why a plug-in from our webshop doesn’t work. The number one reason is the person in question has glibc 2.3.

Some people think we are cruel unjust people for building against glibc 2.4. I just wanted to take a moment to explain the reality so you can decide for yourself how cruel we really are.

Since it’s Christian doing builds and me setting up the infrastructure for him to do builds in, we do the builds on Fedora systems. We are both Fedora users. In our office we are pretty much alone; the majority uses Ubuntu. We use Fedora on our platform, and I’ve developed a build tool over the years that makes it very easy to build in a clean chroot to make sure no unwanted dependencies creep into the build.

We build in a Fedora Core 5 chroot because it was the first one to ship with GStreamer 0.10. It just so happens that FC5 was the first Fedora release to ship with glibc 2.4. At the time where we decided what glibc we wanted to support, we took a look at the major distributions out there, checked if they had glibc 2.4, and decided that they did. I think Ubuntu’s Dapper was still on 2.3, but there’s Edgy and Feisty now, so that sounded good to us. When it came to Debian, we somehow assumed that their next release would not be obsolete at the time of release by shipping glibc 2.3.

Well, seems we were wrong. Etch has not been released yet, and already it has been decided that it will not ship with glibc 2.4. It is no wonder that Debian lost so many users to Ubuntu (Incidentally, is it a coincidence that “Etch” is very similar to “Edgy” ?)

Personally we wouldn’t want to make our webshop even more confusing by listing what glibc a plugin is built against, and building against both glibc’s. Building in FC4 could possibly be less than ideal – some of the features that GStreamer plug-ins can support (like QoS, reverse playback, …) are decided at compile-time based on the presence of headers, and I’m not sure we will still bother about building GStreamer on FC4 for much longer, because in practice it’s all just extra work for Christian and me.

Are we evil that we don’t take more hours out of our day to build on glibc 2.3 ? You bet, we are cold heartless bastards. But in reality 90% of the people on glibc 2.3 are users that have an upgrade path to a more recent version of their distro; the other people are future Debian Etch users. I’m sure the Etch releasers have convinced themselves of the usefulness of not releasing with a glibc 2.4 that is more than 15 months old, and instead opt for an even older series, even before they actually release. But I am starting to wonder more and more who the people are that are waiting for a release like this.
Realistically speaking, it is possible that we may add glibc 2.3 plugins in the future if we see that more than just Debian is affected. We are not against taking your money for giving you a service that works. But the hours in our day are just as scarce as they are in yours. I just wanted to explain this to people that want to know, to take away your incentive to complain about a nameless faceless Company being Evil to you.

[...] From a Fluendo employee: Are we evil that we don’t take more hours out of our day to build on glibc 2.3 ? You bet, we are cold heartless bastards. But in reality 90% of the people on glibc 2.3 are users that have an upgrade path to a more recent version of their distro; the other people are future Debian Etch users. I’m sure the Etch releasers have convinced themselves of the usefulness of not releasing with a glibc 2.4 that is more than 15 months old, and instead opt for an even older series, even before they actually release. But I am starting to wonder more and more who the people are that are waiting for a release like this. Realistically speaking, it is possible that we may add glibc 2.3 plugins in the future if we see that more than just Debian is affected. We are not against taking your money for giving you a service that works. But the hours in our day are just as scarce as they are in yours. I just wanted to explain this to people that want to know, to take away your incentive to complain about a nameless faceless Company being Evil to you. [...]

the problem is not necessary the knowledge on how to do it, it’s purely time. I’m sure we’ll get to it in the future, but right now we’re all busy on something and we’d prefer to fix actual bugs in those plugins than to spend some time doing the right solution for the distribution at the moment.

Autopackage guys know a lot about these kind of problems. They have a good infrainstructure that allows you to compile in a distribution with glibc 2.4 without having any dependency with glibc 2.4 symbols in an easy way.http://autopackage.org/community.html