Bug 1683574 - gluster-server package currently requires the older userspace-rcu against expectation
Summary: gluster-server package currently requires the older userspace-rcu against exp...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: GlusterFS
Classification: Community
Component: build
Version: 6
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
URL:
Whiteboard: gluster-test-day
Depends On:
Blocks: glusterfs-6.0 1732875
TreeView+ depends on / blocked
 
Reported: 2019-02-27 09:21 UTC by SATHEESARAN
Modified: 2019-07-24 15:04 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-03-04 14:44:14 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description SATHEESARAN 2019-02-27 09:21:33 UTC
Description of problem:
------------------------
While installing glusterfs-server-6.0 package on Centos 6, observed that this glusterfs-server requires liburcu-bp.so.1, but Centos-release-gluster  ships the latest version of liburcu-bp.so.6 ( updated as part of https://bugzilla.redhat.com/show_bug.cgi?id=1410302 )

Version-Release number of selected component (if applicable):
-------------------------------------------------------------
Centos-7.6
glusterfs-server-6.0

How reproducible:
-----------------
Always

Steps to Reproduce:
-------------------
1. Install glusterfs-server-6.0 on Centos 7.6

Actual results:
---------------
Installation fails with dependency on liburcu-bp.so.1, though liburcu-bp.so.6 is available

Expected results:
-----------------
glusterfs-server should require newer updated version of liburcu-bp.so.6


Additional info:
----------------
[root@ ~]# rpm -qpR glusterfs-server-5.3-2.el7.x86_64.rpm | grep -i rcu
liburcu-bp.so.6()(64bit)
liburcu-cds.so.6()(64bit)

[root@ ~]# rpm -qpR glusterfs-server-6.0-0.1.rc0.el7.x86_64.rpm | grep -i rcu
warning: glusterfs-server-6.0-0.1.rc0.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID c2f8238c: NOKEY
liburcu-bp.so.1()(64bit)
liburcu-cds.so.1()(64bit)

Comment 1 Kaleb KEITHLEY 2019-03-04 14:30:06 UTC
The glusterfs-server-6.0-0.1.rc0.el7.x86_64.rpm on https://buildlogs.centos.org/centos/7/storage/x86_64/gluster-6/ gives me this:

]$ rpm -qpR glusterfs-server-6.0-0.1.rc0.el7.x86_64.rpm| grep rcu
liburcu-bp.so.6()(64bit)
liburcu-cds.so.6()(64bit)

(And the packages haven't been tagged for release yet so there isn't a glusterfs-server-6.0-0.1.rc0.el7.x86_64.rpm on http://mirror.centos.org/centos-7/7/storage/x86_64/gluster-6/ yet.)

And the glusterfs.spec file has
  BuildRequires:    userspace-rcu-devel >= 0.7
so any of a wide range of userspace-rcu packages/libs could potentially satisfy the BuildRequires.

Where did you get your RPMs from?  The Storage SIG builds its own userspace-rcu package because what's in RHEL/CentOS is too old.

If you're building your own RPMs on your CentOS 7 box and haven't installed the userspace-rcu* RPMs from the Storage SIG then that's probably why your RPMs have the incorrect dependency on liburcu-bp.so.1 instead of liburcu-bp.so.6.

The BuildRequires in the .spec should probably be updated to >= 0.10 to prevent this from happening in the future.

Comment 2 Kaleb KEITHLEY 2019-03-04 14:44:14 UTC
(In reply to Kaleb KEITHLEY from comment #1)
> 
> The BuildRequires in the .spec should probably be updated to >= 0.10 to
> prevent this from happening in the future.

s/should/could/

Since any version of userspace-rcu(-devel) >= 0.7, i.e. liburcu-bp.so.0.1 or later, is acceptable, it's not incorrect, to build with the older version.

But if you want to build yours with the latest version, you need to install it from the Storage SIG.


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