From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041020 Epiphany/1.4.4 Description of problem: db4-devel has a missing symbolic link from libdb_cxx.so to ../../lib/libdb-4.?.so Rawhide package db4-devel-4.3.27-1.i386.rpm is also missing the symlink. Thanks, Version-Release number of selected component (if applicable): db4-devel-4.2.52-6 How reproducible: Always Steps to Reproduce: 1. try building klibido (for example) 2. 3. Actual Results: klibido build cannot find libdb_cxx.so Additional info:
The file /usr/lib/libdb_cxx-4.2.so is in the db4 package: $ rpm -qf /usr/lib/libdb_cxx-4.2.so db4-4.2.52-6.i386.rpm 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 for libdb_cxx.so.
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! Thanks, Bernard
> 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 same package: $ ls -l /usr/lib/libdb.so lrwxrwxrwx 1 root root 22 Dec 7 14:53 /usr/lib/libdb.so -> ../../lib/libdb-4.2.so $ rpm -qf /usr/lib/libdb.so db4-devel-4.2.52-6 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.