Bug 147236 - Symbol lookup error from lvm.static
Symbol lookup error from lvm.static
Status: CLOSED ERRATA
Product: Red Hat Cluster Suite
Classification: Red Hat
Component: lvm2-cluster (Show other bugs)
4
All Linux
medium Severity medium
: ---
: ---
Assigned To: Corey Marthaler
Cluster QE
:
Depends On:
Blocks: 144795
  Show dependency treegraph
 
Reported: 2005-02-04 17:24 EST by Derek Anderson
Modified: 2010-01-11 23:03 EST (History)
1 user (show)

See Also:
Fixed In Version: RHBA-2005-192
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-04-06 12:05:34 EDT
Type: ---
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 Derek Anderson 2005-02-04 17:24:14 EST
Description of problem:
[root@link-12 ~]# lvm.static vgscan
  Reading all physical volumes.  This may take a while...
lvm.static: symbol lookup error: /usr/lib/liblvm2clusterlock.so:
undefined symbol: lvm_snprintf

Version-Release number of selected component (if applicable):
lvm2-2.01.03-1.0.RHEL4
lvm2-cluster-2.01.03-1.0.RHEL4

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Comment 1 Derek Anderson 2005-02-04 17:25:40 EST
The clvmd init script uses this incantation, so that's how it came up.
Comment 2 Christine Caulfield 2005-02-07 11:46:51 EST
Another issue here is why the lvm.static is using a shared library in
/usr/lib.

Surely the whole point of lvm.static is that it doesn't depend on
anything. If you REALLY need a static lvm binary that is cluster-aware
then the cluster locking code should be compiled into it.
Comment 3 Adam "mantis" Manthei 2005-02-08 12:31:06 EST
I changed the clvmd init.d script to use /usr/sbin/vgscan.  This
addresses the init script problem but not the actual bug itself. 
lvm.static should not be generating any unresolved symbol errors since
it shouldn't be loading libraries at runtime.

Checking in clvmd_init_rhel4;
/cvs/lvm2/LVM2/scripts/clvmd_init_rhel4,v  <--  clvmd_init_rhel4
new revision: 1.4; previous revision: 1.3
done
Comment 4 Christine Caulfield 2005-02-09 03:39:35 EST
Assigning this to Alasdair (sorry!) as it's not really a clvm problem
as such and he understands the lvm linking better than I do
Comment 5 Alasdair Kergon 2005-02-15 10:26:09 EST
If we *need* a cluster-aware lvm2 before /usr is mounted, we probably need to
generate a new binary for this purpose e.g. lvm2_cluster.static.  As yet, I
don't think we need it before /usr is mounted so this can wait.  lvm.static
should probably be fixed to fail cleanly in these circumstances.
Comment 6 Alasdair Kergon 2005-02-18 14:56:37 EST
Workaround for now is not to use the lvm2 static binary.

In 2.01.05 if you invoke the lvm.static binary under any different name it runs
/usr/sbin/lvm instead if that exists.
Comment 7 Corey Marthaler 2005-02-23 16:43:55 EST
That workaround doesn't appear to work.

[root@morph-05 sbin]# rpm -qa | grep lvm
lvm2-cluster-2.01.04-1.0.RHEL4
lvm2-2.01.05-1.0.RHEL4

[root@morph-05 sbin]# /sbin/vgchange -ay
vgchange: symbol lookup error: /usr/lib/liblvm2clusterlock.so:
undefined symbol: lvm_snprintf
[root@morph-05 sbin]# ./lvm.static vgchange -ay
lvm.static: symbol lookup error: /usr/lib/liblvm2clusterlock.so:
undefined symbol: lvm_snprintf
[root@morph-05 sbin]# /usr/sbin/vgchange -ay
  3 logical volume(s) in volume group "gfs" now active
Comment 8 Kiersten (Kerri) Anderson 2005-03-02 16:00:01 EST
Blocker bug, adding it to the list
Comment 9 Alasdair Kergon 2005-03-08 09:53:27 EST
The fix didn't work because the build system prepended DESTDIR to the path.
Try again with 2.01.07.
Comment 10 Alasdair Kergon 2005-03-22 12:12:07 EST
Workaround believed to be OK:

[root@morph-02 sbin]# /sbin/vgchange -ay
  5 logical volume(s) in volume group "gfs" now active
[root@morph-02 sbin]# /usr/sbin/vgchange -ay
  5 logical volume(s) in volume group "gfs" now active
[root@morph-02 sbin]# /sbin/lvm.static vgchange -ay
lvm.static: symbol lookup error: /usr/lib/liblvm2clusterlock.so: undefined
symbol: lvm_snprintf

The last example should not be required: initscripts use --ignorelockingfailure
which should bypass the problem: pleast test that.
Comment 11 Corey Marthaler 2005-04-06 12:05:34 EDT
fix verified.
Comment 12 Tim Powers 2005-06-09 08:29:59 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2005-192.html

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