Red Hat Bugzilla – Bug 149191
missing symbolic link to libdb_cxx.so
Last modified: 2007-11-30 17:11:00 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3)
Description of problem:
db4-devel has a missing symbolic link from libdb_cxx.so to
Rawhide package db4-devel-4.3.27-1.i386.rpm is also missing the symlink.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. try building klibido (for example)
Actual Results: klibido build cannot find libdb_cxx.so
The file /usr/lib/libdb_cxx-4.2.so is in the db4 package:
$ rpm -qf /usr/lib/libdb_cxx-4.2.so
Specify -ldb_cxx-4.2 on the linkage line to specify
the version of libdb_cxx that is desired. The Berkeley
DB is version specific, and can/will change between
versions, so it is not wise to link against a symlink
The libdb_cxx.so (like any simple .so) should never be used for
runtime linking. Don't include it in the runtime (db4) package, but
please put it back in the db4-devel RPM.
When you build an application [not run it], such symbolic link is very
useful. Berkeley DB is mostly source compatible from versions to
version. It's very easy to write a package that works with 4.1, 4.2,
4.3, but if you don't provide this lib_cxx.so symbolic link (for
link-time when you build the application), you force a specific
version into the makefiles. Quite unfortunate!
> Specify -ldb_cxx-4.2 on the linkage line to specify
> the version of libdb_cxx that is desired.
No, this is not the correct way (and Bernard is exactly right, one wants to be
forward compatible when building an app).
Besides, this is inconsistent with what is done (correctly) for libdb in the
$ ls -l /usr/lib/libdb.so
lrwxrwxrwx 1 root root 22 Dec 7 14:53 /usr/lib/libdb.so
$ rpm -qf /usr/lib/libdb.so
Please do the same with libdb_cxx, that would be both correct and consistent.
Added in -3.
This problem still exists in db4-devel-4.2.52-7.1 in EL 4. Should I file a
separate bug on that?
You can, yes.