It would be really nice if those projects that consider themselves to
be major pieces of infrastructure made it a priority to support a
build on stock vendor releases of distros older than the current release.
I’m trying to build OpenLDAP 2.3.20 on Red Hat 7.3. Yes, that sounds
like a bad idea, and it is quite painful. This pain is mostly due
to the versions of Berkeley DB that OpenLDAP wants to build against:
Red Hat 7.3 shipped with BDB 3.3.11; it wants at least version
4, bud the
configure
script makes it quite clear that version 4.1 isn’t supported.
The LDBM backend can use older BDBs, i.e. 3.x, but OpenLDAP 2.2
deprecates the LDBM
backend in favour of
back-bdb
. That concerns me for a 2.3 series build of OpenLDAP: is
it still stable, or has it been left to rot? Of course the test suite
doesn’t cover the LDBM backend…
I would really like to not have to build for this old OS version, but
sadly it exists and it needs to be a syncrepl
slave. In order to
finally put this box to rest it needs to have OpenLDAP running, so
that we can migrate the services off it with minimal outage. There are so
many bugs running OpenLDAP on this box that I want to try this 2.3
series version on it, in the same configuration as every other machine
on the network, but the more I work on it, the less it feels like I’m
making any progress on it at all.
Fighting version dependencies on old distros just isn’t fun. If the
developers had considered this, and at least said “OK, well, RHEL
2.1 is still supported by Red Hat, so let’s try to configure and build
on that platform too” then this wouldn’t nearly be as painful as it
is.
The Annodex developers, as well as
Conrads’ other projects (sweep, etc) work
quite hard to make sure they build with the versions of libraries on
peoples year-old desktop machines; sure this means sometimes having
extra code to cope with API differences, but a small amount of effort
on the developers part makes a massive difference when you think about
how much time the users will spend trying to get the software to build.
It’s the little things that make the difference between an OK project and an Awesome project.
Meanwhile, on the cutting edge of RHEL 3 and 4, and FC 4 and 5,
latest OpenLDAP 2.3 looks to be a really promising piece of work, the
amount of work that’s gone into it since 2.2.27 is impressive, and if it
works nearly as well as it looks like it will from the ChangeLog, then
that’ll finally put to rest a whole lot of problems we’ve had since
deploying LDAP as our authentication database.
Fingers crossed I can get there without losing all my hair.