Bug 1082584 - libmpi.so.0: cannot open shared object file: No such file or directory
Summary: libmpi.so.0: cannot open shared object file: No such file or directory
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: pypar
Version: el6
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Susi Lehtola
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-03-31 12:03 UTC by Chris Webb
Modified: 2014-04-15 23:29 UTC (History)
1 user (show)

Fixed In Version: pypar-2.1.5_108-1.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-04-15 23:29:21 UTC


Attachments (Terms of Use)

Description Chris Webb 2014-03-31 12:03:12 UTC
Description of problem:

pypar fails to load

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

[spimcmw@nanlnx1 ~]0% rpm -q openmpi pypar-common pypar-openmpi
openmpi-1.5.4-2.el6.x86_64
pypar-common-2.1.4_94-3.el6.noarch
pypar-openmpi-2.1.4_94-3.el6.x86_64
[spimcmw@nanlnx1 ~]0% 


How reproducible:

Every time.

Steps to Reproduce:

[spimcmw@nanlnx15 ~]0% python
Python 2.6.6 (r266:84292, Nov 21 2013, 12:39:37) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pypar
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.6/site-packages/openmpi/pypar/__init__.py", line 33, in <module>
    from pypar import *
  File "/usr/lib64/python2.6/site-packages/openmpi/pypar/pypar.py", line 863, in <module>
    mpi = CDLL('libmpi.so.0', RTLD_GLOBAL)
  File "/usr/lib64/python2.6/ctypes/__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libmpi.so.0: cannot open shared object file: No such file or directory
>>> 

Actual results:

pypar fails to import

Expected results:

pypar should import

Additional info:

libmpi.so.0 does not exist:

[spimcmw@nanlnx15 ~]0% ls -l /usr/lib64/openmpi/lib/libmpi.so*
lrwxrwxrwx. 1 root root      15 Feb 21 10:59 /usr/lib64/openmpi/lib/libmpi.so -> libmpi.so.1.0.2
lrwxrwxrwx. 1 root root      15 Feb 21 10:59 /usr/lib64/openmpi/lib/libmpi.so.1 -> libmpi.so.1.0.2
-rwxr-xr-x. 1 root root 1395848 Nov 25 19:20 /usr/lib64/openmpi/lib/libmpi.so.1.0.2

However libmpi.so.0 is not linked against:

[spimcmw@nanlnx15 ~]0% ldd /usr/lib64/python2.6/site-packages/openmpi/pypar/mpiext.so 
	linux-vdso.so.1 =>  (0x00007fff39788000)
	libmpi.so.1 => /usr/lib64/openmpi/lib/libmpi.so.1 (0x00007fa32f205000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fa32efe9000)
	libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x00007fa32ec43000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa32ea26000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fa32e691000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fa32e478000)
	libutil.so.1 => /lib64/libutil.so.1 (0x00007fa32e275000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fa32dff0000)
	libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007fa32dde7000)
	/lib64/ld-linux-x86-64.so.2 (0x00000036ae800000)
[spimcmw@nanlnx15 ~]0% 


/usr/lib64/python2.6/site-packages/openmpi/pypar/pypar.py contains:

    # Work around bug in OpenMPI (December 2009): 
    # https://bugs.launchpad.net/ubuntu/+source/petsc4py/+bug/232036
    from ctypes import *
    mpi = CDLL('libmpi.so.0', RTLD_GLOBAL)
    # End work around

Update libmpi.so.0 to libmpi.so.1 and it works:


[spimcmw@nanlnx15 ~]0% python
Python 2.6.6 (r266:84292, Nov 21 2013, 12:39:37) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pypar
Pypar (version 2.1.4) initialised MPI OK with 1 processors
>>>

Comment 1 Susi Lehtola 2014-03-31 12:46:21 UTC
Does it work if you remove the

    # Work around bug in OpenMPI (December 2009): 
    # https://bugs.launchpad.net/ubuntu/+source/petsc4py/+bug/232036
    from ctypes import *
    mpi = CDLL('libmpi.so.0', RTLD_GLOBAL)
    # End work around

section altogether?

Comment 2 Chris Webb 2014-03-31 12:55:01 UTC
I did try that, it generates the followimg error:

[spimcmw@cnsdesk1 ~]0% python
Python 2.6.6 (r266:84292, Nov 21 2013, 12:39:37) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pypar
python: symbol lookup error: /usr/lib64/openmpi/lib/openmpi/mca_paffinity_hwloc.so: undefined symbol: mca_base_param_reg_int
[spimcmw@cnsdesk1 ~]127%

Comment 3 Susi Lehtola 2014-03-31 13:13:39 UTC
This is the same issue as in bug #754262.
I'm syncing the EPEL6 branch with rawhide.

Comment 4 Fedora Update System 2014-03-31 13:25:26 UTC
pypar-2.1.5_108-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/pypar-2.1.5_108-1.el6

Comment 5 Fedora Update System 2014-03-31 18:25:05 UTC
Package pypar-2.1.5_108-1.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing pypar-2.1.5_108-1.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-1019/pypar-2.1.5_108-1.el6
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2014-04-15 23:29:21 UTC
pypar-2.1.5_108-1.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.


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