Bug 1264887 - mpich: Needs to install a dynamic linker hints file for sub-packages
mpich: Needs to install a dynamic linker hints file for sub-packages
Product: Fedora
Classification: Fedora
Component: mpich (Show other bugs)
x86_64 Linux
unspecified Severity high
: ---
: ---
Assigned To: Zbigniew Jędrzejewski-Szmek
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2015-09-21 08:20 EDT by Neil Darlow
Modified: 2015-11-16 12:39 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-11-16 11:37:22 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Neil Darlow 2015-09-21 08:20:14 EDT
Description of problem:
mpich (and sub-packages linked with it) store library files in /usr/lib64/mpich/lib which the dynamic linker knows nothing about.

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

How reproducible:
Every time

Steps to Reproduce:
1. Install an application requiring a mpich linked library e.g. gmsh
2. Execute the application and notice libraries are not resolved e.g. libscotch.so.0 for gmsh

Actual results:
Applications linked against mpich (or a derived library e.g. ptscotch-mpich) fail due to their libraries not being found.

Expected results:
Application should launch.

Additional info:
I created a file /etc/ld.so.conf.d/mpich-x86_64.conf with contents:
then ran ldconfig and the appropriate libraries are now found and gmsh runs.
Comment 1 Zbigniew Jędrzejewski-Szmek 2015-11-16 11:37:22 EST
To get access to mpi-implementation-specific directories, please do

module load mpi/mpich-x86_64

This (amongst other things) sets LD_LIBRARY_PATH.

You can also do this permanently, by installing mpich-autoload.
Comment 2 Neil Darlow 2015-11-16 12:36:22 EST
So, let me get this right!

mpich installs libraries in /usr/lib/mpich/lib and does nothing to make those libraries known to the dynamic linker.

Applications which make use of those libraries then fail to start because the libraries cannot be found.

By some *magic* the end-user is supposed to know to run some obscure command or install another package which is not a dependency of mpich to allow the application to run.

How the heck is that NOTABUG? If a package installs a GUI application it should run out-of-the-box not need manual intervention.

Comment 3 Zbigniew Jędrzejewski-Szmek 2015-11-16 12:39:36 EST
There is more than one mpi implementation. They conflict with one another. Therefore what you propose (always enabling the libraries) is not possible in general. modulefiles are a standard mechanism to achieve runtime switching of optional components like this.

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