Bug 758491

Summary: db4-devel and libdb-devel have an implicit conflict
Product: [Fedora] Fedora Reporter: Göran Uddeborg <goeran>
Component: db4Assignee: Jindrich Novy <jnovy>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: bruno, gregory.lee.bartholomew, jnovy, lance.list.7, mmorsi, pknirsch, pmatilai, tct
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 772390 (view as bug list) Environment:
Last Closed: 2013-02-13 15:05:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
slapd config file pointing to back_perl module
none
custom back_perl module none

Description Göran Uddeborg 2011-11-29 22:06:57 UTC
Description of problem:
The packages db4-devel and libdb-devel can not be installed together.  They both provide the files
  /usr/include/db.h
  /usr/include/db_185.h
  /usr/include/db_cxx.h
  /usr/lib64/libdb.so
There does not seem to be any explicit conflict declaration, the installation fails when yum discovers they both contain the same files.  Unless I misunderstand the packaging guidelines (https://fedoraproject.org/wiki/Packaging:Conflicts) this is incorrect.  There should be an explicit conflict declaration if the intention is that those should not be possible to be installed at the same time.

But I'm not sure if that is the right thing here.  As I understand it, libdb is a newer version of Berkeley DB.  So maybe the right declaration is an "obsoletes"?

Version-Release number of selected component (if applicable):
libdb-devel-5.2.36-1.fc16.x86_64.rpm
db4-devel-4.8.30-3.fc15.x86_64.rpm

How reproducible:
Every time

Steps to Reproduce:
1. yum install db4-devel
2. yum install libdb-devel
  
Actual results:
Yum fails with these error messages:

  file /usr/include/db.h from install of libdb-devel-5.2.36-1.fc16.x86_64 conflicts with file from package db4-devel-4.8.30-3.fc15.x86_64
  file /usr/include/db_185.h from install of libdb-devel-5.2.36-1.fc16.x86_64 conflicts with file from package db4-devel-4.8.30-3.fc15.x86_64
  file /usr/include/db_cxx.h from install of libdb-devel-5.2.36-1.fc16.x86_64 conflicts with file from package db4-devel-4.8.30-3.fc15.x86_64
  file /usr/lib64/libdb.so from install of libdb-devel-5.2.36-1.fc16.x86_64 conflicts with file from package db4-devel-4.8.30-3.fc15.x86_64

Expected results:
Both should install in parallel.  Or, alternatively, packaging information which makes yum know what to do to avoid both being installed.

Additional info:
I'm not sure if this should be considered a bug in db4, libdb, or both.  I picked db4 as the component arbitrarily.

Comment 1 Gregory Lee Bartholomew 2012-01-07 02:38:46 UTC
This bug is also causing me difficulty in getting openldap installed with perl support enabled.  I have db4-4.8.30-3.fc15.x86_64 installed and I cannot uninstall it because yum depends on it.  I have libdb-5.2.36-1.fc16.x86_64 installed and I cannot uninstall it because yum depends on it.  When I compile openldap with --enable-perl, it picks up db4-4.8.30 (why?).  When I try to run openldap, it sees libdb-5.2.36 and dies.

# /usr/sbin/slapd

Error 
DB_File was build with libdb version 4.8.30,
but you are attempting to run it with libdb version 5.2.36
Compilation failed in require at /etc/openldap/SIUE/SIUE.pm line 10, <DATA> line 522.
BEGIN failed--compilation aborted at /etc/openldap/SIUE/SIUE.pm line 10, <DATA> line 522.
Compilation failed in require at (eval 2) line 1,rpm -i openldap-2.4.26-5.fc16.src.rpm <DATA> line 522.
BEGIN failed--compilation aborted at (eval 2) line 1, <DATA> line 522.

Steps to reproduce:

wget http://mirror.anl.gov/pub/fedora/linux/updates/16/SRPMS/openldap-2.4.26-5.fc16.src.rpm
rpmdev-setuptree
rpm -i openldap-2.4.26-5.fc16.src.rpm
cd ~/rpmbuild/SPECS/
sed -i 's/--disable-perl/--enable-perl/' openldap.spec
rpmbuild -ba openldap.spec
rpm --nodeps -e openldap-2.4.26-5.fc16.x86_64 openldap-servers-2.4.26-5.fc16.x86_64
cd ~/rpmbuild/RPMS/x86_64
rpm -ivh openldap-2.4.26-5.fc16.x86_64.rpm openldap-servers-2.4.26-5.fc16.x86_64.rpm
/usr/sbin/slapd

Any help would be greatly appreciated -- I REALLY need the openldap compiled with back_perl support.  As it stands, it looks like I'm going to have to set up a separate system just to run a previous version of Fedora and openldap to get this working.

Comment 2 Gregory Lee Bartholomew 2012-01-07 03:38:57 UTC
Sorry, I omitted some significant parameters in the previous post when detailing the steps to reproduce the problem.  The problem only occurs if you actually try to run a back_perl plugin.  Here are the parameters that I am using and the back_perl module (the server's ip is x'd out).

/usr/sbin/slapd -4 -f "/etc/openldap/slapd.conf" -h "ldapi:/// ldap://127.0.0.1:389/ ldap://xxx.xxx.xxx.xxx:389/"

Comment 3 Gregory Lee Bartholomew 2012-01-07 03:41:02 UTC
Created attachment 551333 [details]
slapd config file pointing to back_perl module

Comment 4 Gregory Lee Bartholomew 2012-01-07 03:44:05 UTC
Created attachment 551335 [details]
custom back_perl module

Comment 5 Gregory Lee Bartholomew 2012-01-07 03:49:08 UTC
My bad.  I was just looking at the custom back_perl module and I see that DB_File is called there.  If I don't call DB_File, slapd runs properly.  I might be able to work around using the DB_File module.  I guess the problem then is simply that DB_File cannot be used in Fedora 16 because of the incompatible library versions.

Comment 6 Gregory Lee Bartholomew 2012-01-07 03:59:53 UTC
I see that there is a BerkeleyDB module that replaces DB_File, so I withdraw my report.  Sorry.

Comment 7 Tiberiu C. Turbureanu 2012-01-07 13:07:12 UTC
Any news? I can't install mod_perl because db4-devel conflicts with installed libdb-devel. See bug 772390.

Comment 8 Tiberiu C. Turbureanu 2012-01-07 15:43:23 UTC
$ git clone git://pkgs.fedoraproject.org/apr-util.git
$ git log # look for your apr-util version (I have 1.3.12)
$ git checkout e3fac27 # git commit hash for 1.3.12

Apply the following patch: (replacing db4-devel with libdb-devel)

--- a/apr-util.spec	2012-01-07 17:29:55.867360621 +0200
+++ b/apr-util.spec	2012-01-07 17:30:34.453358676 +0200
@@ -13,7 +13,7 @@
 Patch2: apr-util-1.3.7-nodbmdso.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 BuildRequires: autoconf, apr-devel >= 1.3.0
-BuildRequires: db4-devel, expat-devel, libuuid-devel
+BuildRequires: libdb-devel, expat-devel, libuuid-devel
 
 %description
 The mission of the Apache Portable Runtime (APR) is to provide a
@@ -25,7 +25,7 @@
 Group: Development/Libraries
 Summary: APR utility library development kit
 Requires: apr-util = %{version}-%{release}, apr-devel, pkgconfig
-Requires: db4-devel, expat-devel, openldap-devel
+Requires: libdb-devel, expat-devel, openldap-devel
 
 %description devel
 This package provides the support files which can be used to 


And then build the package using rpmbuild and install it via yum.

I sure hope the maintainers will make the replacement as well. TIA!

Comment 9 Mo Morsi 2012-02-07 16:40:21 UTC
Ran into this myself when installing libguestfs from rawhide.

libdb needs to be updated to 'Obsoletes' and 'Provides' db4 (same w/ the subpackages)

http://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages

Comment 10 Jindrich Novy 2012-04-26 08:40:46 UTC
For rawhide it is going to be addressed via dead-packaging db4 (and compat-db) and by introduction of libdb4 package.

Comment 11 Göran Uddeborg 2012-09-24 20:56:37 UTC
This looks good in the F18 alpha.  Is it time to close this bug?  Or do you wish to wait until F18 is released?

Comment 12 Bruno Wolff III 2012-09-24 21:21:33 UTC
Well if it was an F18 bug, you'd want it closed once the fix hit stable (and not wait for the f18 release). But since this is an F16 bug, things aren't so clear.

Comment 13 Steve 2012-10-22 03:45:52 UTC
ran into this bug on fc17-x86_64

# yum install libtool-ltdl-devel libdb-devel
Loaded plugins: downloadonly, langpacks, priorities
Resolving Dependencies
--> Running transaction check
---> Package libdb-devel.x86_64 0:5.2.36-5.fc17 will be installed
---> Package libtool-ltdl-devel.x86_64 0:2.4.2-3.1.fc17 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package              Arch              Version       Repository        Size
================================================================================
Installing:
 libdb-devel         x86_64            5.2.36-5.fc17  fedora              44 k
 libtool-ltdl-devel  x86_64            2.4.2-3.1.fc17 updates            165 k

Transaction Summary
================================================================================
Install  2 Packages

Total download size: 210 k
Installed size: 926 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): libdb-devel-5.2.36-5.fc17.x86_64.rpm             |  44 kB     00:00     
(2/2): libtool-ltdl-devel-2.4.2-3.1.fc17.x86_64.rpm     | 165 kB     00:00     
--------------------------------------------------------------------------------
Total                                          295 kB/s | 210 kB     00:00     
Running Transaction Check
Running Transaction Test


Transaction Check Error:
  file /usr/include/db.h from install of libdb-devel-5.2.36-5.fc17.x86_64
conflicts with file from package db4-devel-4.8.30-10.fc17.x86_64                
  file /usr/include/db_185.h from install of libdb-devel-5.2.36-5.fc17.x86_64
conflicts with file from package db4-devel-4.8.30-10.fc17.x86_64                
  file /usr/include/db_cxx.h from install of libdb-devel-5.2.36-5.fc17.x86_64
conflicts with file from package db4-devel-4.8.30-10.fc17.x86_64                
  file /usr/lib64/libdb.so from install of libdb-devel-5.2.36-5.fc17.x86_64
conflicts with file from package db4-devel-4.8.30-10.fc17.x86_64                

Error Summary                                                                   
-------------

Comment 14 Fedora End Of Life 2013-01-16 14:05:44 UTC
This message is a reminder that Fedora 16 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 16. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '16'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 16's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 16 is end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" and open it against that version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 15 Fedora End Of Life 2013-02-13 15:05:04 UTC
Fedora 16 changed to end-of-life (EOL) status on 2013-02-12. Fedora 16 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.