Bug 844776

Summary: When using OpenMPI, Emacs crashes with undefined symbol: OTF_open
Product: Red Hat Enterprise Linux 6 Reporter: Glenn Morris <rgm+rh>
Component: openmpiAssignee: Doug Ledford <dledford>
Status: CLOSED CURRENTRELEASE QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: dledford, jshortt
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-03 21:57:20 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:
Bug Depends On: 1087968    
Bug Blocks:    
Attachments:
Description Flags
Proposed patch for emacs.spec file none

Description Glenn Morris 2012-07-31 18:22:37 UTC
Description of problem:

If using both OpenMPI and Emacs, Emacs crashes when trying to use libotf support, since OpenMPI provides a different libotf.so to the one Emacs expects.

Originally mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=806031#c3,
but seems to have been overlooked. That issue is closed as a duplicate
of a private bug supposedly fixed in 6.3, but this issue still occurs in 6.3.


Version-Release number of selected component (if applicable):
emacs-23.1-21.el6_2.3.x86_64
openmpi-1.5.4-1.el6.x86_64


How reproducible: 100%.


Steps to Reproduce:
1. module load openmpi-x86_64

This is what you are supposed to do if you want to use OpenMPI, as per eg
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Technical_Notes/storage.html

Part of what this does is to add /usr/lib64/openmpi/lib to the front of LD_LIBRARY_PATH. This directory includes a libotf.so file.

2. /usr/bin/emacs -Q

3. Visit a file that contains complex characters. Eg type

C-h h

to view the Emacs HELLO file.


Actual results:

Emacs crashes with:

/usr/bin/emacs: symbol lookup error: /usr/bin/emacs: undefined symbol: OTF_open


Expected results:
No crash


Additional info:

I suppose a workaround might be to build the emacs rpm
using LDFLAGS=-Wl,-rpath=/usr/lib64, so that it prefers the libraries
from /usr/lib64 to any in LD_LIBRARY_PATH.

Comment 2 RHEL Product and Program Management 2012-09-07 05:33:43 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unable to address this
request at this time.

Red Hat invites you to ask your support representative to
propose this request, if appropriate, in the next release of
Red Hat Enterprise Linux.

Comment 3 Petr Hracek 2014-09-01 10:59:24 UTC
Hello Glenn,

I think that this bug is related to openmpi where they should fix problem with providing libotf.so? Only libotf package should provide library libotf.so.0.

Two version of library libotf.so.0 does not make sense.

Am I right?

From my point of view I think that settings -rpath directly to /usr/lib{64} is not right approach.

Comment 4 Glenn Morris 2014-09-01 16:37:10 UTC
It looks like OpenMPI renamed their libotf to libopen-trace-format 6 months
after I opened this report.

https://svn.open-mpi.org/trac/ompi/ticket/3497
https://svn.open-mpi.org/trac/ompi/changeset/28010

When that version makes it into RHEL, the problem would presumably disappear.

Comment 5 Petr Hracek 2014-09-02 09:58:06 UTC
Created attachment 933671 [details]
Proposed patch for emacs.spec file

The proposed patch will be used if library libotf remains in package openmpi.
Library libotf was renamed top libopen-trace-format as was written be Glenn Moris (thanks)

Comment 6 Petr Hracek 2014-09-02 10:25:54 UTC
openmpi was updated to 1.8 (#1087968) where the library name is changed to libopen-trace-format.so.