Newby Question: What to do when one port can't recognize another port?

Matthew Seaman m.seaman at
Tue Oct 30 09:24:09 PDT 2007

Hash: RIPEMD160

Jeff D wrote:
> Matthew,
> On 10/30/07, Matthew Seaman <m.seaman at> wrote:
>> This is a known problem with the apache22 port.  At the moment it only
>> understands about Berkeley DB versions up to 4.4.x -- there's an open
>> ticket in the PR system which requests support for versions up to 4.6.x:
>> Until that gets fixed, use BDB 4.4.x instead.  To make that the default
>> version on your system add this to /etc/make.conf:
>>   WITH_BDB_VER=           44
> Thanks for pointing this out.
> I'd thought that the port system in Freebsd was assured to be internally
> consistent with all other stuff in the system by a central team (QA?).  I
> didn't realize that each port was from a different person, and that the
> process could get held up for weeks or months.

Correct: there is a continual process of testing and compilation of ports
for all supported OS versions and architectures.  You can see the results

and there's also

which summarises all of the known issues within the ports tree.

However, due to resource limitations it's only ever the *default* set of
options that are used when test-compiling any port.  At the moment, the
ports system uses databases/db41 (db41-4.1.25_4) as the default version
of Berkeley DB -- you can find that out by reading

As to why db41 is still considered the default -- probably because no one
has requested it be updated and there isn't a specific maintainer to take
care of  In any case, changes to the ports infrastructure
like that will require a test package build run before being committed, and
that's not a trivial undertaking.  There's a ports freeze coming up prior to
the release of FreeBSD 6.3 and 7.0 so it's exceedingly unlikely to be changed
in the next month or two.

> I guess your advice is what I should do.  I'm a little nervous about undoing
> what's already been done, and think I might just start over with db44 to be
> safe.

Fear not.  You can install several BDB ports for different versions of BDB
simultaneously.  No need to rip out any ports you've previously compiled
against bdb46 and rebuild them.  You can make just apache depend on bdb44 by
a snippet like the following in /etc/make.conf:

.if ${.CURDIR:M*/www/apache22}
WITH_DBM=                       bdb
WITH_BERKELEYDB=                db44

That's assuming you want to install apache-2.2.6 -- there are several other
versions of apache in the tree, and you can use much the same sort of construct,
just changing the 'www/apache22' bit, to apply options to those ports.

See also the ports-mgmt/portconf port for a possibly more user friendly way of
doing this sort of thing.

> Knowing this now, I guess I should also make a list of the programs and
> versions I need, and check each & every one for problems before I start
> again.  If something popular like the Apache Web Server has long standing
> unresolved issues like this, other programs may too.

I usually find that so long as I've accounted for anything from
/usr/ports/UPDATING, then just trying to install or upgrade the port is
successful 99 times out of 100. Only on the 100th time is it necessary to go
hunting around in bug databases and so forth.

The ports tree contains over 17,000 individual ports, maintained by a wide
variety of volunteers or (in perhaps too many cases) without any particular person
or group of people to maintain them at all.  Despite this, over all the quality
and consistency of ports is generally good.  There will be occasional problems
- -- and when these are reported, usually they are fixed with a great deal of

> A friend is pushing me to use Ubunutu Linux instead, saying that stuff like
> this doesn't happen with it, but I'm not so convinced.  After being  'sold'
> on the Freebsd ports, it's worth some more reading.

You friend is living in a dream world, I'm afraid.  It is practically
impossible to have zero problems in any large collection of software packages or
ports like this.  Ubuntu has it's points and a lot of people find it suits them
very well, but to my mind it is best fitted to being a point'n'click style desktop
for Windows refugees.  FreeBSD (IMHO) is unbeaten as a serious Unix server platform,
but to get the best out of it, you should not be afraid of getting to grips
with command line interfaces.



- -- 
Dr Matthew J Seaman MA, D.Phil.                       Flat 3
                                                      7 Priory Courtyard
PGP:         Ramsgate
                                                      Kent, CT11 9PW, UK
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Using GnuPG with Mozilla -


More information about the freebsd-questions mailing list