Bug 984727 - cifs-utils is conflicting with samba4
cifs-utils is conflicting with samba4
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: samba4 (Show other bugs)
6.4
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Andreas Schneider
Namita Soman
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-15 16:05 EDT by Edouard Bourguignon
Modified: 2016-10-10 11:32 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-07-16 09:37:17 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Edouard Bourguignon 2013-07-15 16:05:22 EDT
Description of problem:
	Sometimes you may need to mount samba shares, using mount.cifs which is provided by the cifs-utils package. This package seems to have dependancies on samba, conflicting with samba4 packages.

Version-Release number of selected component (if applicable):
cifs-utils-4.8.1-18.el6

How reproducible:
static

Steps to Reproduce:
1. yum install samba4
2. yum install cifs-utils

Actual results:
[root@stockage samba]# yum install cifs-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ircam.fr
 * epel: mirror.serverbeheren.nl
 * extras: centos.mirror.fr.planethoster.net
 * updates: centos.crazyfrogs.org
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package cifs-utils.x86_64 0:4.8.1-18.el6 will be installed
--> Processing Dependency: libwbclient.so.0()(64bit) for package: cifs-utils-4.8.1-18.el6.x86_64
--> Running transaction check
---> Package samba-winbind-clients.x86_64 0:3.6.9-151.el6 will be installed
--> Processing Dependency: samba-winbind = 3.6.9-151.el6 for package: samba-winbind-clients-3.6.9-151.el6.x86_64
--> Running transaction check
---> Package samba-winbind.x86_64 0:3.6.9-151.el6 will be installed
--> Processing Dependency: samba-common = 3.6.9-151.el6 for package: samba-winbind-3.6.9-151.el6.x86_64
--> Running transaction check
---> Package samba-common.x86_64 0:3.6.9-151.el6 will be installed
--> Processing Conflict: samba4-common-4.0.0-55.el6.rc4.x86_64 conflicts samba-common < 3.9.9
--> Finished Dependency Resolution
Error: samba4-common conflicts with samba-common-3.6.9-151.el6.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


Expected results:
cifs-utils should install


Additional info:
extracting mount.cifs from cifs-utils package works great on a system with only samba4 and samba4-common installed.
Comment 2 Jeff Layton 2013-07-15 16:30:36 EDT
cifs-utils has this dependency:

    libwbclient.so.0()(64bit)  

Does samba4 not provide this library anymore?
Comment 3 Edouard Bourguignon 2013-07-15 16:46:48 EDT
[root@stockage tmp]# ldd usr/bin/getcifsacl 
	linux-vdso.so.1 =>  (0x00007fff5fdff000)
	libwbclient.so.0 => not found
	librt.so.1 => /lib64/librt.so.1 (0x00007f18f3079000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f18f2ce6000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f18f2ac9000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f18f3492000)

samba4 doesn't provides libwbclient.so.0 but it seems not to be needed by mount.cifs. Maybe the cifs-utils package should be splitted to provides mount.cifs in a different package?
Comment 4 Andreas Schneider 2013-07-16 03:29:47 EDT
You need to decide if you want samba4 or samba. If you need libwbclient, then you have to remove samba4 package first cause they conflict with the Samba packages!

As Samba and Samba4 provide the same binaries the conflict is by intention. I hope that helps :)
Comment 5 Jeff Layton 2013-07-16 06:14:15 EDT
Shouldn't the samba4 packages also provide libwbclient, just like the samba3 ones do?
Comment 6 Jeff Layton 2013-07-16 06:43:03 EDT
Moving this to a samba4 bug. The problem seems to be the provides/requires dependencies in the samba4 packages. In RHEL6, cifs-utils requires this capability:

    libwbclient.so.0()(64bit)  

...samba3 provides this via the samba-winbind-clients package.samba4-libs-4.0.0-55.el6.rc4.x86_64 also seems to provide this capability, but the library is under /usr/lib64/samba and the package capabilities aren't quite right. It provides:

    libwbclient.so.0(SAMBA_4.0.0RC4)(64bit)  
    libwbclient.so.0(WBCLIENT_0.10)(64bit)  
    libwbclient.so.0(WBCLIENT_0.9)(64bit)  

I think it needs to also provide the above capability, and probably add a symlink to this library or something under %{_libdir}.
Comment 7 Andreas Schneider 2013-07-16 08:20:22 EDT
Jeff, we filter out libwbclient from samba4 packages to avoid problems. libwbclient implements a protocol and needs to be the exact same version as the samba winbind package or it will not be able to talk to each other.

samba and samba4-libs need to coexist for openchange:

Please see:

https://bugzilla.redhat.com/show_bug.cgi?id=861892
Comment 9 Jeff Layton 2013-07-16 08:37:20 EDT
(In reply to Andreas Schneider from comment #7)
> Jeff, we filter out libwbclient from samba4 packages to avoid problems.
> libwbclient implements a protocol and needs to be the exact same version as
> the samba winbind package or it will not be able to talk to each other.
> 
> samba and samba4-libs need to coexist for openchange:
> 
> Please see:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=861892

sigh...and that in and of itself is a problem. Either samba4 is a drop-in replacement for samba3, or it isn't. This mess where you have users installing pieces of both is just crazy.

AFAICT, cifs-utils needs to be able to use either one depending on which version of winbind is running. I'm not sure what the solution is given the needs of openchange, but the current state is clearly broken for cifs-utils.
Comment 10 Andreas Schneider 2013-07-16 08:45:27 EDT
The question is why is samba4-common installed?

yum remove samba4-common
yum install cifs-utils

and everything should work just fine.
Comment 11 Jeff Layton 2013-07-16 08:49:47 EDT
(In reply to Andreas Schneider from comment #10)
> The question is why is samba4-common installed?
> 
> yum remove samba4-common
> yum install cifs-utils
> 
> and everything should work just fine.

...unless you want to run samba4 on the machine and be able to mount cifs shares onto it.
Comment 12 Andreas Schneider 2013-07-16 09:24:33 EDT
This is not supported. Samba4 is a tech preview in combination with IPA (AD Trust support) and not meant as a replacement for Samba3 in RHEL 6.4.
Comment 13 Andreas Schneider 2013-07-16 09:37:17 EDT
Edouard, if you want cifs-utils, you need to install samba (version 3). cifs-utils with samba4 packages installed is not supported. We are sorry for that but it is not possible to change that at the moment. We will have this fixed in RHEL7.


Here is the package list in alphabetical order which marks conflicts in the 
other field or tells you the components which need it.

Samba                  | Samba4                 | Other
-----------------------+------------------------+----------------------------
                       |                        |
 libsmbclient          |                        | (KDE, Gnome)
 libsmbclient-devel    |                        |
 samba                 | samba4                 | >>> CONFLICT <<<
 samba-client          | samba4-client          | >>> CONFLICT <<<
 samba-common          | samba4-common          | >>> CONFLICT <<<
 samba-doc             |                        |
                       | samba4-dc              |
                       | samba4-dc-libs         |
                       | samba4-devel           | (Requires all other pkgs)
 samba-domainjoin-gui  |                        |
                       | samba4-libs            | (OpenChange, evolution-mapi)
                       | samba4-pidl            |
                       | samba4-python          | (IPA Trust)
 samba-swat            | samba4-swat            | >>> CONFLICT <<<
 samba-winbind         | samba4-winbind         | >>> CONFLICT <<<
 samba-winbind-clients | samba4-winbind-clients | >>> CONFLICT <<<
 samba-winbind-devel   |                        |
 samba-winbind-krb5-loc| samba4-winbind-krb5-loc| >>> CONFLICT <<< *
                       |                        |
 samba-debuginfo       | samba4-debuginfo       | >>> CONFLICT <<<

 * samba-winbind-krb5-loc = samba-winbind-krb5-locator
   samba4-winbind-krb5-loc = samba4-winbind-krb5-locator
Comment 14 Edouard Bourguignon 2013-07-16 10:27:15 EDT
My point was just that mount.cifs can work with samba4 or 3, it only depends on kernel cifs driver. Am I wrong? In fact I don't care about libwbclient, I never say I need it, no need for mounting samba shares, that why I spoke about having mount.cifs binary in a separate package. Sorry for my english.
Comment 15 Jeff Layton 2013-07-16 10:36:26 EDT
Correct, mount.cifs will work without libwbclient, but cifs-utils contains a lot more than just mount.cifs.

I'm not inclined to split up the cifs-utils package just to work around broken dependencies in the samba4 packages, which are considered tech-preview anyway. That said, you're welcome to open a support case and request that if you feel you really need it.
Comment 16 Edouard Bourguignon 2013-07-16 10:39:21 EDT
ok no need, have made my own mount.cifs package. Thanks anyway.

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