OpenMPI, Emacs and libotf problems

Amit Saha droidery at gmail.com
Wed Jul 6 10:03:06 UTC 2011


Hello all:

I am hoping it is OK to discuss this here. I came across this problem
when I was building a custom spin where the kickstart file installs
'openmpi' before 'emacs'.

When I start emacs, here is what I get:

$emacs
emacs: error while loading shared libraries: libotf.so.0: cannot open
shared object file: No such file or directory

So, this library is missing. However, this should have been installed
as its a dependency, right?

It can be seen that there are two providers listed for libotf.so.0.
Since 'openmpi' was already installed, so it didn't bother installing
'libotf'. I could simulate the scenario on a Fedora 15 installation:


Step1: Dependency listing
---------------------------------

$yum deplist emacs

 dependency: libotf.so.0
   provider: openmpi.i686 1.5-3.fc15
   provider: libotf.i686 0.9.12-2.fc15



To verify this scenario, the next step attempts to install emacs on a
machine without emacs, libotf and openmpi:

Step 2: Installing emacs
------------------------------

[gene at soma ~]$ sudo yum install emacs
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package emacs.i686 1:23.2-19.fc15 will be installed
--> Processing Dependency: libotf.so.0 for package: 1:emacs-23.2-19.fc15.i686
--> Running transaction check
---> Package libotf.i686 0:0.9.12-2.fc15 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================
 Package            Arch             Version
Repository           Size
===========================================================================================
Installing:
 emacs              i686             1:23.2-19.fc15
updates             2.0 M
Installing for dependencies:
 libotf             i686             0.9.12-2.fc15
fedora               82 k

Transaction Summary
===========================================================================================
Install       2 Package(s)

Total download size: 2.1 M


all good here.

(I don't proceed with the install)



Step 3: Installing openmpi
------------------------------
Next, I just install openmpi, which is listed as a provider for libotf.so.0:

[gene at soma ~]$ sudo yum install openmpi
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package openmpi.i686 0:1.5-3.fc15 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================
 Package              Arch              Version
Repository           Size
===========================================================================================
Installing:
 openmpi              i686              1.5-3.fc15
fedora              1.7 M

Transaction Summary
===========================================================================================
Install       1 Package(s)

Total download size: 1.7 M
Installed size: 6.7 M


Install done.

Step 4: Installing Emacs after installing openmpi
---------------------------------------------------------------

[gene at soma ~]$ sudo yum install emacs
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package emacs.i686 1:23.2-19.fc15 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================
 Package           Arch             Version
Repository           Size
===========================================================================================
Installing:
 emacs             i686             1:23.2-19.fc15
updates             2.0 M

Transaction Summary
===========================================================================================
Install       1 Package(s)

Total download size: 2.0 M
Installed size: 6.5 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 2.0 M
emacs-23.2-19.fc15.i686.rpm                                         |
2.0 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 1:emacs-23.2-19.fc15.i686
                1/1

Installed:
  emacs.i686 1:23.2-19.fc15


It doesn;t list the dependeny anymore on libotf.so.0, since openmpi is
already installed.

And the result:

$emacs
emacs: error while loading shared libraries: libotf.so.0: cannot open
shared object file: No such file or directory


I also noted this discrepancy:

$sudo yum whatprovides libotf.so.0

Loaded plugins: langpacks, presto, refresh-packagekit
openmpi-1.5-3.fc15.i686 : Open Message Passing Interface
Repo        : fedora
Matched from:
Other       : libotf.so.0



libotf-0.9.12-2.fc15.i686 : A Library for handling OpenType Font
Repo        : fedora
Matched from:
Other       : libotf.so.0



openmpi-1.5-3.fc15.i686 : Open Message Passing Interface
Repo        : installed
Matched from:
Other       : Provides-match: libotf.so.0




$sudo yum whatprovides libotf
Loaded plugins: langpacks, presto, refresh-packagekit
libotf-0.9.12-2.fc15.i686 : A Library for handling OpenType Font
Repo        : fedora
Matched from:


Found some older bugs [1], [2], possibly related.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=527657
[2] https://bugzilla.redhat.com/show_bug.cgi?id=496131


Sorry for the long email, and I would be very happy to give any more
feedback or answer any further questions or file a bug.

-Amit

-- 
http://echorand.me


More information about the devel mailing list