Bug 832225 - libdb-cxx-devel is missing dependency on libdb-cxx
libdb-cxx-devel is missing dependency on libdb-cxx
Product: Fedora
Classification: Fedora
Component: libdb (Show other bugs)
Unspecified Linux
urgent Severity urgent
: ---
: ---
Assigned To: Jindrich Novy
Fedora Extras Quality Assurance
: Reopened
Depends On:
  Show dependency treegraph
Reported: 2012-06-14 18:42 EDT by Mattias Ellert
Modified: 2013-07-02 19:56 EDT (History)
2 users (show)

See Also:
Fixed In Version: libdb-5.3.15-5.fc18
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-07-03 06:16:51 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Mattias Ellert 2012-06-14 18:42:45 EDT
Description of problem:

Installing libdb-cxx-devel results in installing a symlink /usr/lib64/libdb_cxx.so that points to a non-existing file. The target of the symlink, /usr/lib/libdb_cxx-5.3.so, is present in the libdb-cxx package.

The guidelines say: "Devel packages are an example of a package that must require their base packages using a fully versioned dependency." If this guideline is followed the libdb-cxx-devel would require libdb-cxx and installing the libdb-cxx-devel would not result in a dangling symlink.

The /usr/include/db_cxx.h is the header file for the libdb_cxx library, and doesn't make sense without it. It should be part of the libdb-cxx-devel package rather than the libdb-devel package.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:

Try building a package that build-requires libdb-cxx-devel in koji

Actual results:

Build fails

Expected results:

Build succeeds

Additional info:

For Fedora 15-17 there is no libdb-cxx package. Instead the libdb-cxx-devel package itself contains the runtime library. So in this case there is no dangling symlink when installing the libdb-cxx-devel package. However, in this case, since the runtime library is in the devel package, the devel package is needed at runtime which is another guidelines violation.

The guidelines say: "Specifically, -devel packages must be used to contain files which are intended solely for development or needed only at build-time."
Comment 1 Mattias Ellert 2012-06-26 03:59:04 EDT
Can the maintainer please give this issue some priority.
Comment 2 Jindrich Novy 2012-07-03 03:31:36 EDT
Should be fixed in rawhide now.
Comment 3 Mattias Ellert 2012-07-03 04:26:01 EDT
Thank you for working on this. The new package is much better - but still not OK.

The libdb-cxx-devel package now depends on libdb-cxx, so installing libdb-cxx-devel no longer results in a dangling symlink. Very good.

However, to build using the libdb-cxx you also need the db_cxx.h header file. The new package still puts /usr/include/db_cxx.h and /usr/include/libdb/db_cxx.h in libdb-devel instead of in libdb-cxx-devel. Also since the db_cxx.h header contains a line

#include "db.h"

The libdb-cxx-devel package (where the db_cxx.h should be) needs a requires on libdb-devel (where the db.h is).
Comment 4 Jindrich Novy 2012-07-03 06:16:51 EDT
Thanks for your comments. I applied the fixes. Please re-check again and eventually reopen if the fix is still insufficient.

Comment 5 Mattias Ellert 2012-07-03 08:53:58 EDT
Thank you - the packages now work as expected!

Note You need to log in before you can comment on or make changes to this bug.