An observation on the quality of the Perl build in Ubuntu 9.04

I have long ago given up on the perl builds in Redhat and build-alikes. To call them broken is … well … to be unfair to things that are merely broken. The Redhat/Centos Perls are basically completely hosed, in part due to incorporating bad patch mixes, poor build Config options, etc.

Some will claim that despite the broken-ness of the build, it is better to stick with this build, and not install updated/corrected modules via CPAN.

That is incorrect, at many levels. The most obvious is that if the OS packaging system isn’t up to the task of handling installed modules through the correct and standard perl module installation system, developers and users of those modules shouldn’t have to suffer while waiting for a blessed package (built correctly at that) to appear.

But that has been Redhat and Centos, which uses the Redhat build.

For a long time, Ubuntu had been better. Things that should work, mostly, work. Correctly.

Occasionally we run into build issues.

Well, they have been getting progressively worse since 8.04 Ubuntu.

8.10 Perl was barely functional.

I can report that 9.04 is not suitable for running for most applications.

We have our own build environment for Perl. We haul it out when we need things built correctly, and the native install doesn’t quite do it.

Packaging is via tarball. We put it in a completely different path, just in case some critical functionality in the OS is built upon the broken behavior.

Ok, what do I mean by broken?

Say you are installing a development environment. Like Jifty. Or Catalyst.

Each of these have huge dependency radii. They depend upon an astounding number of modules.

Which makes them fairly sensitive to the quality of the underlying build.

So now install the modules. As Jifty installs, you will see astounding numbers of build failures along the way.

Do the same thing with Catalyst. Previous version, as the 5.8 release appears to have a bug with Perl 5.10, and they call it out during build. Perl 5.10.1 has the fix. Hopefully out soon. Info on the bug is here . This was a real bug with Perl itself, not any build of Perl.

Then go into each of the failed directories and issue the

make clean
perl Makefile.PL
make test

And notice that you don’t have failures.

Then you can make install.

For a long time we used our own build, then we started trusting the Ubuntu builds when they did the right thing. They no longer do. We don’t trust the RH builds.

So I think we are done dealing with these issues. Just use our own build. This way, we know it works. No messing around dealing with distro specific self-imposed issues.

Viewed 7555 times by 1581 viewers