Hello all, I am encountering dependency issues in installing nfs-ganesha, and I’m hoping someone here may be able to help.

I have a dedicated CentOS 7 VM for the purpose of running nfs-ganesha with the CephFS FSAL, pointed towards my existing Ceph cluster. I have installed the centos-nfs-ganesha28 release RPM, and have that repository enabled. I also have the Ceph Nautilus release RPM for el7 installed, which provides repositories of that release.

I have these repositories enabled:

[root@nfs ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.umd.edu
 * centos-nfs-ganesha28: mirror.net.cen.ct.gov
 * epel: epel.mirror.constant.com
 * extras: repos.dfw.quadranet.com
 * updates: mirror.wdc1.us.leaseweb.net
repo id                                 repo name                                           status
Ceph/x86_64                             Ceph packages for x86_64                               210
Ceph-noarch                             Ceph noarch packages                                    45
base/7/x86_64                           CentOS-7 - Base                                     10,019
centos-nfs-ganesha28/7/x86_64           CentOS-7 - NFS Ganesha 2.8                              54
ceph-source                             Ceph source packages                                     0
epel/x86_64                             Extra Packages for Enterprise Linux 7 - x86_64      13,338
extras/7/x86_64                         CentOS-7 - Extras                                      435
updates/7/x86_64                        CentOS-7 - Updates                                   2,500
repolist: 26,601

When I try to yum install nfs-ganesha, I get this dependency error:

[root@nfs ~]# yum install nfs-ganesha
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.umd.edu
 * centos-nfs-ganesha28: mirror.net.cen.ct.gov
 * epel: ewr.edge.kernel.org
 * extras: repos.dfw.quadranet.com
 * updates: mirror.wdc1.us.leaseweb.net
Resolving Dependencies
--> Running transaction check
---> Package nfs-ganesha.x86_64 0:2.8.2-1.el7 will be installed
--> Processing Dependency: psmisc for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: libwbclient.so.0(WBCLIENT_0.9)(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: libntirpc.so.1.8(NTIRPC_1.8.0)(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: libwbclient.so.0()(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: liburcu-bp.so.6()(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: librados.so.2()(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: libntirpc.so.1.8()(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Running transaction check
---> Package libntirpc.x86_64 0:1.8.0-1.el7 will be installed
---> Package librados2.x86_64 2:14.2.2-0.el7 will be installed
--> Processing Dependency: liblttng-ust.so.0()(64bit) for package: 2:librados2-14.2.2-0.el7.x86_64
---> Package libwbclient.x86_64 0:4.8.3-6.el7_6 will be installed
--> Processing Dependency: samba-client-libs = 4.8.3-6.el7_6 for package: libwbclient-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libreplace-samba4.so(SAMBA_4.8.3)(64bit) for package: libwbclient-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libreplace-samba4.so()(64bit) for package: libwbclient-4.8.3-6.el7_6.x86_64
---> Package psmisc.x86_64 0:22.20-15.el7 will be installed
---> Package userspace-rcu.x86_64 0:0.7.16-1.el7 will be updated
--> Processing Dependency: liburcu-bp.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
--> Processing Dependency: liburcu-cds.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
---> Package userspace-rcu.x86_64 0:0.10.0-3.el7 will be an update
--> Running transaction check
---> Package lttng-ust.x86_64 0:2.4.1-4.el7 will be installed
--> Processing Dependency: liburcu-bp.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
--> Processing Dependency: liburcu-cds.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
---> Package samba-client-libs.x86_64 0:4.8.3-6.el7_6 will be installed
--> Processing Dependency: samba-common = 4.8.3-6.el7_6 for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: samba-common = 4.8.3-6.el7_6 for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.9)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.31)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.30)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.21)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.20)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.16)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.14)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.13)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.12)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.3.11)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.3.0)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.5)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.2)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.1)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtalloc.so.2(TALLOC_2.1.0)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtalloc.so.2(TALLOC_2.0.2)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_1.3.0)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_1.1.30)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_1.1.19)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_1.1.1)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_0.9.23)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_0.9.15)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_0.9.10)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libaesni-intel-samba4.so(SAMBA_4.8.3)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtalloc.so.2()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libcups.so.2()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libavahi-common.so.3()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libavahi-client.so.3()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libaesni-intel-samba4.so()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
---> Package userspace-rcu.x86_64 0:0.7.16-1.el7 will be updated
--> Processing Dependency: liburcu-bp.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
--> Processing Dependency: liburcu-cds.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
--> Running transaction check
---> Package avahi-libs.x86_64 0:0.6.31-19.el7 will be installed
---> Package cups-libs.x86_64 1:1.6.3-35.el7 will be installed
---> Package libldb.x86_64 0:1.3.4-1.el7 will be installed
---> Package libtalloc.x86_64 0:2.1.13-1.el7 will be installed
---> Package libtdb.x86_64 0:1.3.15-1.el7 will be installed
---> Package libtevent.x86_64 0:0.9.36-1.el7 will be installed
---> Package lttng-ust.x86_64 0:2.4.1-4.el7 will be installed
--> Processing Dependency: liburcu-bp.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
--> Processing Dependency: liburcu-cds.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
---> Package samba-common.noarch 0:4.8.3-6.el7_6 will be installed
---> Package samba-common-libs.x86_64 0:4.8.3-6.el7_6 will be installed
---> Package userspace-rcu.x86_64 0:0.7.16-1.el7 will be updated
--> Processing Dependency: liburcu-bp.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
--> Processing Dependency: liburcu-cds.so.1()(64bit) for package: lttng-ust-2.4.1-4.el7.x86_64
--> Finished Dependency Resolution
Error: Package: lttng-ust-2.4.1-4.el7.x86_64 (epel)
           Requires: liburcu-cds.so.1()(64bit)
           Removing: userspace-rcu-0.7.16-1.el7.x86_64 (@epel)
               liburcu-cds.so.1()(64bit)
           Updated By: userspace-rcu-0.10.0-3.el7.x86_64 (centos-nfs-ganesha28)
              ~liburcu-cds.so.6()(64bit)
Error: Package: lttng-ust-2.4.1-4.el7.x86_64 (epel)
           Requires: liburcu-bp.so.1()(64bit)
           Removing: userspace-rcu-0.7.16-1.el7.x86_64 (@epel)
               liburcu-bp.so.1()(64bit)
           Updated By: userspace-rcu-0.10.0-3.el7.x86_64 (centos-nfs-ganesha28)
              ~liburcu-bp.so.6()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

If I remove the EPEL repository, then I instead reach the following issue: librados2 cannot install correctly.

[root@nfs ~]# yum remove epel-release
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================================================================================
 Package                                                Arch                                             Version                                           Repository                                         Size
===================================================================================================================================================================================================================
Removing:
 epel-release                                           noarch                                           7-11                                              @extras                                            24 k

Transaction Summary
===================================================================================================================================================================================================================
Remove  1 Package

Installed size: 24 k
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : epel-release-7-11.noarch                                                                                                                                                                        1/1 
  Verifying  : epel-release-7-11.noarch                                                                                                                                                                        1/1 

Removed:
  epel-release.noarch 0:7-11                                                                                                                                                                                       

Complete!
[root@nfs ~]# yum -y install nfs-ganesha
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile                                                                                                                                                                [52/1824]
 * base: mirror.umd.edu
 * centos-nfs-ganesha28: mirror.net.cen.ct.gov
 * extras: repos.dfw.quadranet.com
 * updates: mirror.wdc1.us.leaseweb.net
Resolving Dependencies
--> Running transaction check
---> Package nfs-ganesha.x86_64 0:2.8.2-1.el7 will be installed
--> Processing Dependency: psmisc for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: libwbclient.so.0(WBCLIENT_0.9)(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: libntirpc.so.1.8(NTIRPC_1.8.0)(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: libwbclient.so.0()(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: liburcu-bp.so.6()(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: librados.so.2()(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Processing Dependency: libntirpc.so.1.8()(64bit) for package: nfs-ganesha-2.8.2-1.el7.x86_64
--> Running transaction check
---> Package libntirpc.x86_64 0:1.8.0-1.el7 will be installed
---> Package librados2.x86_64 2:14.2.2-0.el7 will be installed
--> Processing Dependency: liblttng-ust.so.0()(64bit) for package: 2:librados2-14.2.2-0.el7.x86_64
---> Package libwbclient.x86_64 0:4.8.3-6.el7_6 will be installed
--> Processing Dependency: samba-client-libs = 4.8.3-6.el7_6 for package: libwbclient-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libreplace-samba4.so(SAMBA_4.8.3)(64bit) for package: libwbclient-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libreplace-samba4.so()(64bit) for package: libwbclient-4.8.3-6.el7_6.x86_64
---> Package psmisc.x86_64 0:22.20-15.el7 will be installed
---> Package userspace-rcu.x86_64 0:0.7.16-1.el7 will be updated
---> Package userspace-rcu.x86_64 0:0.10.0-3.el7 will be an update
--> Running transaction check
---> Package librados2.x86_64 2:14.2.2-0.el7 will be installed
--> Processing Dependency: liblttng-ust.so.0()(64bit) for package: 2:librados2-14.2.2-0.el7.x86_64
---> Package samba-client-libs.x86_64 0:4.8.3-6.el7_6 will be installed
--> Processing Dependency: samba-common = 4.8.3-6.el7_6 for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: samba-common = 4.8.3-6.el7_6 for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.9)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.31)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.30)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.21)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.20)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.16)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.14)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.13)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.12)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.3.11)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64                                                                                             [11/1824]
--> Processing Dependency: libtdb.so.1(TDB_1.3.0)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.5)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.2)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.1)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtalloc.so.2(TALLOC_2.1.0)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtalloc.so.2(TALLOC_2.0.2)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_1.3.0)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_1.1.30)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_1.1.19)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_1.1.1)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_0.9.23)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_0.9.15)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1(LDB_0.9.10)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libaesni-intel-samba4.so(SAMBA_4.8.3)(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtevent.so.0()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtdb.so.1()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libtalloc.so.2()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libldb.so.1()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libcups.so.2()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libavahi-common.so.3()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libavahi-client.so.3()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Processing Dependency: libaesni-intel-samba4.so()(64bit) for package: samba-client-libs-4.8.3-6.el7_6.x86_64
--> Running transaction check
---> Package avahi-libs.x86_64 0:0.6.31-19.el7 will be installed
---> Package cups-libs.x86_64 1:1.6.3-35.el7 will be installed
---> Package libldb.x86_64 0:1.3.4-1.el7 will be installed
---> Package librados2.x86_64 2:14.2.2-0.el7 will be installed
--> Processing Dependency: liblttng-ust.so.0()(64bit) for package: 2:librados2-14.2.2-0.el7.x86_64
---> Package libtalloc.x86_64 0:2.1.13-1.el7 will be installed
---> Package libtdb.x86_64 0:1.3.15-1.el7 will be installed
---> Package libtevent.x86_64 0:0.9.36-1.el7 will be installed
---> Package samba-common.noarch 0:4.8.3-6.el7_6 will be installed
---> Package samba-common-libs.x86_64 0:4.8.3-6.el7_6 will be installed
--> Finished Dependency Resolution
Error: Package: 2:librados2-14.2.2-0.el7.x86_64 (Ceph)
           Requires: liblttng-ust.so.0()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

I’m not certain quite what to make of this, other than hoping it’s user error on my part.