Bug 1208452

Summary: installing client packages or glusterfs-api requires libgfdb.so
Product: [Community] GlusterFS Reporter: SATHEESARAN <sasundar>
Component: buildAssignee: Joseph Elwin Fernandes <josferna>
Status: CLOSED DUPLICATE QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: mainlineCC: bugs, gluster-bugs, ndevos, sankarshan, vbellur
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-08 21:21:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1199352    

Description SATHEESARAN 2015-04-02 10:04:14 UTC
Description of problem:
-----------------------
Installing client packages ( glusterfs-fuse ) or glusterfs-api requires libgfdb.so

Version-Release number of selected component (if applicable):
--------------------------------------------------------------
glusterfs-3.7dev-0.885.git0d36d4f.el6.x86_64
glusterfs nightly build - http://download.gluster.org/pub/gluster/glusterfs/nightly/glusterfs/epel-6-x86_64/glusterfs-3.7dev-0.885.git0d36d4f.autobuild/

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

Steps to Reproduce:
-------------------
1. Install glusterfs client ( glusterfs-fuse ) or glusterfs-api (libgfapi)

(i.e) 
yum localinstall glusterfs-fuse glusterfs

or

yum localinstall glusterfs-api glusterfs-libs glusterfs

Actual results:
---------------
Unable to install - as the installation requires - libgfdb.so

Expected results:
-----------------
Ability to install glusterfs-fuse packages or libgfapi packages ( glusterfs-api )

Additional info:
----------------

If 'fuse' is used as the access mechanism, then :
1. glusterfs-fuse requires glusterfs package
---------------------------------------------
[root@~ ]# rpm -qpR glusterfs-fuse-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm | grep gluster
warning: glusterfs-fuse-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID b127718f: NOKEY
glusterfs = 3.7dev-0.885.git0d36d4f.el6


2. glusterfs package requires libgfdb.so
------------------------------------------

[root@~ ]# rpm -qpR glusterfs-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm | grep libgfdb
warning: glusterfs-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID b127718f: NOKEY
libgfdb.so.0()(64bit) 

If libgfapi is used as access mechanism, then :
1.glusterfs-api requires glusterfs
----------------------------------

[root@~ ]# rpm -qpR glusterfs-api-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm | grep gluster
warning: glusterfs-api-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID b127718f: NOKEY
glusterfs = 3.7dev-0.885.git0d36d4f.el6
libglusterfs.so.0()(64bit)  

2. Agains glusterfs package requires libgfdb.so
------------------------------------------------

[root@~ ]# rpm -qpR glusterfs-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm | grep libgfdb
warning: glusterfs-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID b127718f: NOKEY
libgfdb.so.0()(64bit)

Comment 1 SATHEESARAN 2015-04-02 10:08:42 UTC
Providing the chats logs from Atin & Kaushal to provide some insight in to this problem :

<kshlm> glusterfs package has the changetimerecorder (ctr) xlator.
<kshlm> This require libgfdb.
<kshlm> We have 2 options now.
<kshlm> either move ctr to the glusterfs-server package
<kshlm> or move libgfdb to glusterfs.

<atinm> I would suggest option 1
<atinm> as ctr is a server side xlator and has nothing to do with client

Comment 2 SATHEESARAN 2015-04-02 10:15:13 UTC
glusterfs-server is the package which provides libgfdb.so

[root@~ ]# rpm -qp --provides glusterfs-server-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm | grep libgfdb
warning: glusterfs-server-3.7dev-0.885.git0d36d4f.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID b127718f: NOKEY
libgfdb.so.0()(64bit)

Comment 3 Niels de Vos 2015-05-08 21:21:59 UTC
Mainline bug 1195947 addresses this, together with change http://review.gluster.org/9987 which implements loading libgfdb through dlopen().

The packaging changes are included through bug 1219089.

*** This bug has been marked as a duplicate of bug 1219089 ***