Bug 589803

Summary: Indescribable dependence: librdmacm.so
Product: Red Hat Enterprise Linux 6 Reporter: Vesselin Kolev <vlk>
Component: scsi-target-utilsAssignee: Mike Christie <mchristi>
Status: CLOSED CURRENTRELEASE QA Contact: Storage QE <storage-qe>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: bdonahue, borgan, notting, syeghiay
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: scsi-target-utils-1.0.4-3.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-10 22:23:58 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:

Description Vesselin Kolev 2010-05-06 22:12:02 UTC
Description of problem:

When iser is used, librdmacm-devel should be installed to satisfy start-up dependencies:

(from syslog)
tgtd: librdmacm.so: cannot open shared object file: No such file or directory - iser transport not used

The bug is similar to another reported:

https://bugzilla.redhat.com/show_bug.cgi?id=589689


Version-Release number of selected component (if applicable):

0.9.11-1.20091205snap.el6

How reproducible:

Always

Steps to Reproduce:
1. Make some iser based configuration in /etc/tgt/targets.conf
2. Start service (tgtd daemon):

# service tgtd start
  
Actual results:

Daemon starts, but error is logged in syslog.

Expected results:

Clean start with no errors of this kind.


Additional info:

librdmacm-1.0.10-2.el6 doesn't provide /usr/lib/librdmacm.so. The missing library is provided by librdmacm-devel-1.0.10-2.el6.

Comment 2 RHEL Program Management 2010-05-06 23:17:48 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 3 Bill Nottingham 2010-05-07 00:18:51 UTC
It's preferable to  dlopen() the versioned file and require the library package, rather than the .so symlink and the -devel pacakge.

Comment 4 Mike Christie 2010-05-08 01:45:42 UTC
I am going to mark this as a dup of 589689 since these errors are all under needing to make iser get installed correctly.

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

Comment 5 Mike Christie 2010-05-08 04:06:40 UTC
Oh yeah,

To properly use dlopen like how Bill describes in comment #3, I am using this bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=590097

Comment 6 Mike Christie 2010-05-08 04:14:30 UTC
(In reply to comment #5)
> Oh yeah,
> 
> To properly use dlopen like how Bill describes in comment #3, I am using this
> bugzilla:
> https://bugzilla.redhat.com/show_bug.cgi?id=590097    

Actually, let me use this one for Bill's comment.

590097 is a different issue.

Comment 7 Mike Christie 2010-05-08 04:18:35 UTC
I can replicate this here and here is the patch I am proposing to fix the problem where we require the devel packages when we only want the lib ones:




Index: scsi-target-utils-dynamic-link-iser.patch
===================================================================
RCS file: /cvs/dist/rpms/scsi-target-utils/RHEL-6/scsi-target-utils-dynamic-link-iser.patch,v
retrieving revision 1.1
diff -a -u -r1.1 scsi-target-utils-dynamic-link-iser.patch
--- scsi-target-utils-dynamic-link-iser.patch	13 Jan 2010 21:36:35 -0000	1.1
+++ scsi-target-utils-dynamic-link-iser.patch	8 May 2010 04:17:52 -0000
@@ -320,12 +320,12 @@
 +
  __attribute__((constructor)) static void iser_transport_init(void)
  {
-+	pverbs = dlopen("libibverbs.so",RTLD_LAZY);
++	pverbs = dlopen("libibverbs.so.1",RTLD_LAZY);
 +	if (!pverbs) {
 +		goto Exit; /* do not register iser transport */
 +	}
 +
-+	prdma = dlopen("librdmacm.so",RTLD_LAZY);
++	prdma = dlopen("librdmacm.so.1",RTLD_LAZY);
 +	if (!prdma) {
 +		goto Exit; /* do not register iser transport */
 +	}

Comment 8 Mike Christie 2010-07-08 20:46:54 UTC
This is fixed in scsi-target-utils-1.0.4-3.

Comment 10 Barry Donahue 2010-08-10 18:25:37 UTC
verified in RHEL6.0-20100809.n.3

Comment 11 releng-rhel@redhat.com 2010-11-10 22:23:58 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.